diff --git a/LFP_Manager.sln b/LFP_Manager.sln new file mode 100644 index 0000000..a81c675 --- /dev/null +++ b/LFP_Manager.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.33516.290 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LFP_Manager_SB", "LFP_Manager\LFP_Manager_SB.csproj", "{BE0785A4-0CCB-44C5-A8C0-1AA2245E71F4}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {BE0785A4-0CCB-44C5-A8C0-1AA2245E71F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BE0785A4-0CCB-44C5-A8C0-1AA2245E71F4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BE0785A4-0CCB-44C5-A8C0-1AA2245E71F4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BE0785A4-0CCB-44C5-A8C0-1AA2245E71F4}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {81A464DF-E944-44BF-80EE-714CAE6FBEDB} + EndGlobalSection +EndGlobal diff --git a/LFP_Manager/AMO_LOGO.ico b/LFP_Manager/AMO_LOGO.ico new file mode 100644 index 0000000..a18b5d2 Binary files /dev/null and b/LFP_Manager/AMO_LOGO.ico differ diff --git a/LFP_Manager/Controls/UcAntiTheftControl.Designer.cs b/LFP_Manager/Controls/UcAntiTheftControl.Designer.cs new file mode 100644 index 0000000..08eeb20 --- /dev/null +++ b/LFP_Manager/Controls/UcAntiTheftControl.Designer.cs @@ -0,0 +1,1026 @@ +namespace LFP_Manager.Controls +{ + partial class UcAntiTheftControl + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.LcMain = new DevExpress.XtraLayout.LayoutControl(); + this.BtnGyroState = new DevExpress.XtraEditors.SimpleButton(); + this.BtnFuncSw = new DevExpress.XtraEditors.SimpleButton(); + this.BtnGyroPolSel = new DevExpress.XtraEditors.SimpleButton(); + this.BtnGyroZAxisSet = new DevExpress.XtraEditors.SimpleButton(); + this.BtnGyroYAxisSet = new DevExpress.XtraEditors.SimpleButton(); + this.BtnGyroXAxisSet = new DevExpress.XtraEditors.SimpleButton(); + this.BtnATCommFuncSwSet = new DevExpress.XtraEditors.SimpleButton(); + this.BtnATCommTimeoutSet = new DevExpress.XtraEditors.SimpleButton(); + this.BtnGyroUnlock = new DevExpress.XtraEditors.SimpleButton(); + this.BtnCommUnlock = new DevExpress.XtraEditors.SimpleButton(); + this.Root = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem13 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem14 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem18 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem19 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem20 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem21 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem25 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem26 = new DevExpress.XtraLayout.LayoutControlItem(); + this.TmrDisplay = new System.Windows.Forms.Timer(this.components); + this.TeGyroZAxisNew = new DevExpress.XtraEditors.TextEdit(); + this.TeGyroYAxisNew = new DevExpress.XtraEditors.TextEdit(); + this.TeGyroXAxisNew = new DevExpress.XtraEditors.TextEdit(); + this.TeGyroState = new DevExpress.XtraEditors.TextEdit(); + this.TeGyroFunctionSwitch = new DevExpress.XtraEditors.TextEdit(); + this.TeGyroPolSel = new DevExpress.XtraEditors.TextEdit(); + this.TeGyroZAxis = new DevExpress.XtraEditors.TextEdit(); + this.TeGyroYAxis = new DevExpress.XtraEditors.TextEdit(); + this.TeGyroXAxis = new DevExpress.XtraEditors.TextEdit(); + this.TeFunctionSwitch = new DevExpress.XtraEditors.TextEdit(); + this.TeTimeOutSet = new DevExpress.XtraEditors.TextEdit(); + this.TeTimeOutSetNew = new DevExpress.XtraEditors.TextEdit(); + this.TeFunctionSwitchNew = new DevExpress.XtraEditors.TextEdit(); + this.TeGyroPolSelNew = new DevExpress.XtraEditors.TextEdit(); + this.TeGyroFunctionSwitchNew = new DevExpress.XtraEditors.TextEdit(); + this.TeGyroStateNew = new DevExpress.XtraEditors.TextEdit(); + this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem11 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem15 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem16 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem17 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem22 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem23 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem24 = new DevExpress.XtraLayout.LayoutControlItem(); + ((System.ComponentModel.ISupportInitialize)(this.LcMain)).BeginInit(); + this.LcMain.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem18)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem19)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem20)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem21)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem25)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem26)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeGyroZAxisNew.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeGyroYAxisNew.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeGyroXAxisNew.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeGyroState.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeGyroFunctionSwitch.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeGyroPolSel.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeGyroZAxis.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeGyroYAxis.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeGyroXAxis.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeFunctionSwitch.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeTimeOutSet.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeTimeOutSetNew.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeFunctionSwitchNew.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeGyroPolSelNew.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeGyroFunctionSwitchNew.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeGyroStateNew.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem15)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem16)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem17)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem22)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem23)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem24)).BeginInit(); + this.SuspendLayout(); + // + // LcMain + // + this.LcMain.Controls.Add(this.BtnGyroState); + this.LcMain.Controls.Add(this.BtnFuncSw); + this.LcMain.Controls.Add(this.BtnGyroPolSel); + this.LcMain.Controls.Add(this.BtnGyroZAxisSet); + this.LcMain.Controls.Add(this.BtnGyroYAxisSet); + this.LcMain.Controls.Add(this.BtnGyroXAxisSet); + this.LcMain.Controls.Add(this.TeGyroZAxisNew); + this.LcMain.Controls.Add(this.TeGyroYAxisNew); + this.LcMain.Controls.Add(this.TeGyroXAxisNew); + this.LcMain.Controls.Add(this.BtnATCommFuncSwSet); + this.LcMain.Controls.Add(this.BtnATCommTimeoutSet); + this.LcMain.Controls.Add(this.BtnGyroUnlock); + this.LcMain.Controls.Add(this.TeGyroState); + this.LcMain.Controls.Add(this.TeGyroFunctionSwitch); + this.LcMain.Controls.Add(this.TeGyroPolSel); + this.LcMain.Controls.Add(this.TeGyroZAxis); + this.LcMain.Controls.Add(this.TeGyroYAxis); + this.LcMain.Controls.Add(this.TeGyroXAxis); + this.LcMain.Controls.Add(this.BtnCommUnlock); + this.LcMain.Controls.Add(this.TeFunctionSwitch); + this.LcMain.Controls.Add(this.TeTimeOutSet); + this.LcMain.Controls.Add(this.TeTimeOutSetNew); + this.LcMain.Controls.Add(this.TeFunctionSwitchNew); + this.LcMain.Controls.Add(this.TeGyroPolSelNew); + this.LcMain.Controls.Add(this.TeGyroFunctionSwitchNew); + this.LcMain.Controls.Add(this.TeGyroStateNew); + this.LcMain.Dock = System.Windows.Forms.DockStyle.Fill; + this.LcMain.Location = new System.Drawing.Point(0, 0); + this.LcMain.Name = "LcMain"; + this.LcMain.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1097, 193, 650, 400); + this.LcMain.Root = this.Root; + this.LcMain.Size = new System.Drawing.Size(850, 190); + this.LcMain.TabIndex = 0; + this.LcMain.Text = "layoutControl1"; + // + // BtnGyroState + // + this.BtnGyroState.Enabled = false; + this.BtnGyroState.Location = new System.Drawing.Point(792, 84); + this.BtnGyroState.Name = "BtnGyroState"; + this.BtnGyroState.Size = new System.Drawing.Size(51, 24); + this.BtnGyroState.StyleController = this.LcMain; + this.BtnGyroState.TabIndex = 26; + this.BtnGyroState.Text = "Set"; + this.BtnGyroState.Click += new System.EventHandler(this.BtnGyroState_Click); + // + // BtnFuncSw + // + this.BtnFuncSw.Location = new System.Drawing.Point(792, 56); + this.BtnFuncSw.Name = "BtnFuncSw"; + this.BtnFuncSw.Size = new System.Drawing.Size(51, 24); + this.BtnFuncSw.StyleController = this.LcMain; + this.BtnFuncSw.TabIndex = 25; + this.BtnFuncSw.Text = "Set"; + this.BtnFuncSw.Click += new System.EventHandler(this.BtnFuncSw_Click); + // + // BtnGyroPolSel + // + this.BtnGyroPolSel.Location = new System.Drawing.Point(791, 28); + this.BtnGyroPolSel.Name = "BtnGyroPolSel"; + this.BtnGyroPolSel.Size = new System.Drawing.Size(52, 24); + this.BtnGyroPolSel.StyleController = this.LcMain; + this.BtnGyroPolSel.TabIndex = 24; + this.BtnGyroPolSel.Text = "Set"; + this.BtnGyroPolSel.Click += new System.EventHandler(this.BtnGyroPolSel_Click); + // + // BtnGyroZAxisSet + // + this.BtnGyroZAxisSet.Enabled = false; + this.BtnGyroZAxisSet.Location = new System.Drawing.Point(492, 84); + this.BtnGyroZAxisSet.Name = "BtnGyroZAxisSet"; + this.BtnGyroZAxisSet.Size = new System.Drawing.Size(56, 24); + this.BtnGyroZAxisSet.StyleController = this.LcMain; + this.BtnGyroZAxisSet.TabIndex = 23; + this.BtnGyroZAxisSet.Text = "Set"; + this.BtnGyroZAxisSet.Click += new System.EventHandler(this.BtnGyroZAxisSet_Click); + // + // BtnGyroYAxisSet + // + this.BtnGyroYAxisSet.Enabled = false; + this.BtnGyroYAxisSet.Location = new System.Drawing.Point(492, 56); + this.BtnGyroYAxisSet.Name = "BtnGyroYAxisSet"; + this.BtnGyroYAxisSet.Size = new System.Drawing.Size(56, 24); + this.BtnGyroYAxisSet.StyleController = this.LcMain; + this.BtnGyroYAxisSet.TabIndex = 22; + this.BtnGyroYAxisSet.Text = "Set"; + this.BtnGyroYAxisSet.Click += new System.EventHandler(this.BtnGyroYAxisSet_Click); + // + // BtnGyroXAxisSet + // + this.BtnGyroXAxisSet.Enabled = false; + this.BtnGyroXAxisSet.Location = new System.Drawing.Point(492, 28); + this.BtnGyroXAxisSet.Name = "BtnGyroXAxisSet"; + this.BtnGyroXAxisSet.Size = new System.Drawing.Size(56, 24); + this.BtnGyroXAxisSet.StyleController = this.LcMain; + this.BtnGyroXAxisSet.TabIndex = 21; + this.BtnGyroXAxisSet.Text = "Set"; + this.BtnGyroXAxisSet.Click += new System.EventHandler(this.BtnGyroXAxisSet_Click); + // + // BtnATCommFuncSwSet + // + this.BtnATCommFuncSwSet.Location = new System.Drawing.Point(267, 56); + this.BtnATCommFuncSwSet.Name = "BtnATCommFuncSwSet"; + this.BtnATCommFuncSwSet.Size = new System.Drawing.Size(56, 24); + this.BtnATCommFuncSwSet.StyleController = this.LcMain; + this.BtnATCommFuncSwSet.TabIndex = 17; + this.BtnATCommFuncSwSet.Text = "Set"; + this.BtnATCommFuncSwSet.Click += new System.EventHandler(this.BtnATCommFuncSwSet_Click); + // + // BtnATCommTimeoutSet + // + this.BtnATCommTimeoutSet.Location = new System.Drawing.Point(267, 28); + this.BtnATCommTimeoutSet.Name = "BtnATCommTimeoutSet"; + this.BtnATCommTimeoutSet.Size = new System.Drawing.Size(56, 24); + this.BtnATCommTimeoutSet.StyleController = this.LcMain; + this.BtnATCommTimeoutSet.TabIndex = 16; + this.BtnATCommTimeoutSet.Text = "Set"; + this.BtnATCommTimeoutSet.Click += new System.EventHandler(this.BtnATCommTimeoutSet_Click); + // + // BtnGyroUnlock + // + this.BtnGyroUnlock.Location = new System.Drawing.Point(335, 155); + this.BtnGyroUnlock.Name = "BtnGyroUnlock"; + this.BtnGyroUnlock.Size = new System.Drawing.Size(508, 28); + this.BtnGyroUnlock.StyleController = this.LcMain; + this.BtnGyroUnlock.TabIndex = 15; + this.BtnGyroUnlock.Text = "Anti-Theft Unlock"; + this.BtnGyroUnlock.Click += new System.EventHandler(this.BtnGyroUnlock_Click); + // + // BtnCommUnlock + // + this.BtnCommUnlock.Location = new System.Drawing.Point(7, 155); + this.BtnCommUnlock.Name = "BtnCommUnlock"; + this.BtnCommUnlock.Size = new System.Drawing.Size(316, 28); + this.BtnCommUnlock.StyleController = this.LcMain; + this.BtnCommUnlock.TabIndex = 8; + this.BtnCommUnlock.Text = "Anti-Theft Unlock"; + this.BtnCommUnlock.Click += new System.EventHandler(this.BtnCommUnlock_Click); + // + // Root + // + this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.Root.GroupBordersVisible = false; + this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlGroup1, + this.layoutControlGroup2}); + this.Root.Name = "Root"; + this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.Root.Size = new System.Drawing.Size(850, 190); + this.Root.TextVisible = false; + // + // layoutControlGroup1 + // + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem3, + this.layoutControlItem1, + this.emptySpaceItem1, + this.layoutControlItem2, + this.layoutControlItem11, + this.layoutControlItem12, + this.layoutControlItem13, + this.layoutControlItem14}); + this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0); + this.layoutControlGroup1.Name = "layoutControlGroup1"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup1.Size = new System.Drawing.Size(328, 188); + this.layoutControlGroup1.Text = "Anti-theft (Comm.)"; + // + // emptySpaceItem1 + // + this.emptySpaceItem1.AllowHotTrack = false; + this.emptySpaceItem1.Location = new System.Drawing.Point(0, 56); + this.emptySpaceItem1.MaxSize = new System.Drawing.Size(320, 0); + this.emptySpaceItem1.MinSize = new System.Drawing.Size(320, 24); + this.emptySpaceItem1.Name = "emptySpaceItem1"; + this.emptySpaceItem1.Size = new System.Drawing.Size(320, 71); + this.emptySpaceItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.BtnCommUnlock; + this.layoutControlItem2.Location = new System.Drawing.Point(0, 127); + this.layoutControlItem2.MaxSize = new System.Drawing.Size(0, 32); + this.layoutControlItem2.MinSize = new System.Drawing.Size(89, 32); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(320, 32); + this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // layoutControlItem13 + // + this.layoutControlItem13.Control = this.BtnATCommTimeoutSet; + this.layoutControlItem13.CustomizationFormText = " Btn"; + this.layoutControlItem13.Location = new System.Drawing.Point(260, 0); + this.layoutControlItem13.MinSize = new System.Drawing.Size(60, 26); + this.layoutControlItem13.Name = "layoutControlItem13"; + this.layoutControlItem13.Size = new System.Drawing.Size(60, 28); + this.layoutControlItem13.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem13.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem13.TextVisible = false; + // + // layoutControlItem14 + // + this.layoutControlItem14.Control = this.BtnATCommFuncSwSet; + this.layoutControlItem14.CustomizationFormText = " Btn"; + this.layoutControlItem14.Location = new System.Drawing.Point(260, 28); + this.layoutControlItem14.MinSize = new System.Drawing.Size(60, 26); + this.layoutControlItem14.Name = "layoutControlItem14"; + this.layoutControlItem14.Size = new System.Drawing.Size(60, 28); + this.layoutControlItem14.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem14.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem14.TextVisible = false; + // + // layoutControlGroup2 + // + this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem4, + this.layoutControlItem7, + this.layoutControlItem5, + this.layoutControlItem6, + this.emptySpaceItem2, + this.layoutControlItem8, + this.layoutControlItem9, + this.layoutControlItem10, + this.layoutControlItem15, + this.layoutControlItem16, + this.layoutControlItem17, + this.layoutControlItem18, + this.layoutControlItem19, + this.layoutControlItem20, + this.layoutControlItem21, + this.layoutControlItem22, + this.layoutControlItem23, + this.layoutControlItem24, + this.layoutControlItem25, + this.layoutControlItem26}); + this.layoutControlGroup2.Location = new System.Drawing.Point(328, 0); + this.layoutControlGroup2.Name = "layoutControlGroup2"; + this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup2.Size = new System.Drawing.Size(520, 188); + this.layoutControlGroup2.Text = "Anti-theft (GyroScope)"; + // + // emptySpaceItem2 + // + this.emptySpaceItem2.AllowHotTrack = false; + this.emptySpaceItem2.Location = new System.Drawing.Point(0, 84); + this.emptySpaceItem2.MinSize = new System.Drawing.Size(104, 24); + this.emptySpaceItem2.Name = "emptySpaceItem2"; + this.emptySpaceItem2.Size = new System.Drawing.Size(512, 43); + this.emptySpaceItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlItem10 + // + this.layoutControlItem10.Control = this.BtnGyroUnlock; + this.layoutControlItem10.Location = new System.Drawing.Point(0, 127); + this.layoutControlItem10.MaxSize = new System.Drawing.Size(0, 32); + this.layoutControlItem10.MinSize = new System.Drawing.Size(89, 32); + this.layoutControlItem10.Name = "layoutControlItem10"; + this.layoutControlItem10.Size = new System.Drawing.Size(512, 32); + this.layoutControlItem10.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem10.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem10.TextVisible = false; + // + // layoutControlItem18 + // + this.layoutControlItem18.Control = this.BtnGyroXAxisSet; + this.layoutControlItem18.CustomizationFormText = " Btn"; + this.layoutControlItem18.Location = new System.Drawing.Point(157, 0); + this.layoutControlItem18.MinSize = new System.Drawing.Size(60, 26); + this.layoutControlItem18.Name = "layoutControlItem18"; + this.layoutControlItem18.Size = new System.Drawing.Size(60, 28); + this.layoutControlItem18.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem18.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem18.TextVisible = false; + // + // layoutControlItem19 + // + this.layoutControlItem19.Control = this.BtnGyroYAxisSet; + this.layoutControlItem19.CustomizationFormText = " Btn"; + this.layoutControlItem19.Location = new System.Drawing.Point(157, 28); + this.layoutControlItem19.MinSize = new System.Drawing.Size(60, 26); + this.layoutControlItem19.Name = "layoutControlItem19"; + this.layoutControlItem19.Size = new System.Drawing.Size(60, 28); + this.layoutControlItem19.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem19.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem19.TextVisible = false; + // + // layoutControlItem20 + // + this.layoutControlItem20.Control = this.BtnGyroZAxisSet; + this.layoutControlItem20.CustomizationFormText = " Btn"; + this.layoutControlItem20.Location = new System.Drawing.Point(157, 56); + this.layoutControlItem20.MinSize = new System.Drawing.Size(60, 26); + this.layoutControlItem20.Name = "layoutControlItem20"; + this.layoutControlItem20.Size = new System.Drawing.Size(60, 28); + this.layoutControlItem20.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem20.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem20.TextVisible = false; + // + // layoutControlItem21 + // + this.layoutControlItem21.Control = this.BtnGyroPolSel; + this.layoutControlItem21.CustomizationFormText = " Btn"; + this.layoutControlItem21.Location = new System.Drawing.Point(456, 0); + this.layoutControlItem21.MinSize = new System.Drawing.Size(55, 26); + this.layoutControlItem21.Name = "layoutControlItem21"; + this.layoutControlItem21.Size = new System.Drawing.Size(56, 28); + this.layoutControlItem21.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem21.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem21.TextVisible = false; + // + // layoutControlItem25 + // + this.layoutControlItem25.Control = this.BtnFuncSw; + this.layoutControlItem25.CustomizationFormText = " Btn"; + this.layoutControlItem25.Location = new System.Drawing.Point(457, 28); + this.layoutControlItem25.MinSize = new System.Drawing.Size(55, 26); + this.layoutControlItem25.Name = "layoutControlItem25"; + this.layoutControlItem25.Size = new System.Drawing.Size(55, 28); + this.layoutControlItem25.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem25.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem25.TextVisible = false; + // + // layoutControlItem26 + // + this.layoutControlItem26.Control = this.BtnGyroState; + this.layoutControlItem26.CustomizationFormText = " Btn"; + this.layoutControlItem26.Location = new System.Drawing.Point(457, 56); + this.layoutControlItem26.MinSize = new System.Drawing.Size(55, 26); + this.layoutControlItem26.Name = "layoutControlItem26"; + this.layoutControlItem26.Size = new System.Drawing.Size(55, 28); + this.layoutControlItem26.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem26.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem26.TextVisible = false; + // + // TmrDisplay + // + this.TmrDisplay.Interval = 500; + this.TmrDisplay.Tick += new System.EventHandler(this.TmrDisplay_Tick); + // + // TeGyroZAxisNew + // + this.TeGyroZAxisNew.Location = new System.Drawing.Point(440, 84); + this.TeGyroZAxisNew.Name = "TeGyroZAxisNew"; + this.TeGyroZAxisNew.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeGyroZAxisNew.Properties.Appearance.Options.UseFont = true; + this.TeGyroZAxisNew.Properties.Appearance.Options.UseTextOptions = true; + this.TeGyroZAxisNew.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.TeGyroZAxisNew.Size = new System.Drawing.Size(48, 24); + this.TeGyroZAxisNew.StyleController = this.LcMain; + this.TeGyroZAxisNew.TabIndex = 20; + // + // TeGyroYAxisNew + // + this.TeGyroYAxisNew.Location = new System.Drawing.Point(440, 56); + this.TeGyroYAxisNew.Name = "TeGyroYAxisNew"; + this.TeGyroYAxisNew.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeGyroYAxisNew.Properties.Appearance.Options.UseFont = true; + this.TeGyroYAxisNew.Properties.Appearance.Options.UseTextOptions = true; + this.TeGyroYAxisNew.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.TeGyroYAxisNew.Size = new System.Drawing.Size(48, 24); + this.TeGyroYAxisNew.StyleController = this.LcMain; + this.TeGyroYAxisNew.TabIndex = 19; + // + // TeGyroXAxisNew + // + this.TeGyroXAxisNew.Location = new System.Drawing.Point(440, 28); + this.TeGyroXAxisNew.Name = "TeGyroXAxisNew"; + this.TeGyroXAxisNew.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeGyroXAxisNew.Properties.Appearance.Options.UseFont = true; + this.TeGyroXAxisNew.Properties.Appearance.Options.UseTextOptions = true; + this.TeGyroXAxisNew.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.TeGyroXAxisNew.Size = new System.Drawing.Size(48, 24); + this.TeGyroXAxisNew.StyleController = this.LcMain; + this.TeGyroXAxisNew.TabIndex = 18; + // + // TeGyroState + // + this.TeGyroState.Location = new System.Drawing.Point(693, 84); + this.TeGyroState.Name = "TeGyroState"; + this.TeGyroState.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeGyroState.Properties.Appearance.Options.UseFont = true; + this.TeGyroState.Properties.Appearance.Options.UseTextOptions = true; + this.TeGyroState.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.TeGyroState.Properties.ReadOnly = true; + this.TeGyroState.Size = new System.Drawing.Size(42, 24); + this.TeGyroState.StyleController = this.LcMain; + this.TeGyroState.TabIndex = 14; + // + // TeGyroFunctionSwitch + // + this.TeGyroFunctionSwitch.Location = new System.Drawing.Point(693, 56); + this.TeGyroFunctionSwitch.Name = "TeGyroFunctionSwitch"; + this.TeGyroFunctionSwitch.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeGyroFunctionSwitch.Properties.Appearance.Options.UseFont = true; + this.TeGyroFunctionSwitch.Properties.Appearance.Options.UseTextOptions = true; + this.TeGyroFunctionSwitch.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.TeGyroFunctionSwitch.Properties.ReadOnly = true; + this.TeGyroFunctionSwitch.Size = new System.Drawing.Size(42, 24); + this.TeGyroFunctionSwitch.StyleController = this.LcMain; + this.TeGyroFunctionSwitch.TabIndex = 13; + // + // TeGyroPolSel + // + this.TeGyroPolSel.Location = new System.Drawing.Point(693, 28); + this.TeGyroPolSel.Name = "TeGyroPolSel"; + this.TeGyroPolSel.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeGyroPolSel.Properties.Appearance.Options.UseFont = true; + this.TeGyroPolSel.Properties.Appearance.Options.UseTextOptions = true; + this.TeGyroPolSel.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.TeGyroPolSel.Properties.ReadOnly = true; + this.TeGyroPolSel.Size = new System.Drawing.Size(42, 24); + this.TeGyroPolSel.StyleController = this.LcMain; + this.TeGyroPolSel.TabIndex = 12; + // + // TeGyroZAxis + // + this.TeGyroZAxis.Location = new System.Drawing.Point(390, 84); + this.TeGyroZAxis.Name = "TeGyroZAxis"; + this.TeGyroZAxis.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeGyroZAxis.Properties.Appearance.Options.UseFont = true; + this.TeGyroZAxis.Properties.Appearance.Options.UseTextOptions = true; + this.TeGyroZAxis.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.TeGyroZAxis.Properties.ReadOnly = true; + this.TeGyroZAxis.Size = new System.Drawing.Size(46, 24); + this.TeGyroZAxis.StyleController = this.LcMain; + this.TeGyroZAxis.TabIndex = 11; + // + // TeGyroYAxis + // + this.TeGyroYAxis.Location = new System.Drawing.Point(390, 56); + this.TeGyroYAxis.Name = "TeGyroYAxis"; + this.TeGyroYAxis.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeGyroYAxis.Properties.Appearance.Options.UseFont = true; + this.TeGyroYAxis.Properties.Appearance.Options.UseTextOptions = true; + this.TeGyroYAxis.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.TeGyroYAxis.Properties.ReadOnly = true; + this.TeGyroYAxis.Size = new System.Drawing.Size(46, 24); + this.TeGyroYAxis.StyleController = this.LcMain; + this.TeGyroYAxis.TabIndex = 10; + // + // TeGyroXAxis + // + this.TeGyroXAxis.Location = new System.Drawing.Point(390, 28); + this.TeGyroXAxis.Name = "TeGyroXAxis"; + this.TeGyroXAxis.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeGyroXAxis.Properties.Appearance.Options.UseFont = true; + this.TeGyroXAxis.Properties.Appearance.Options.UseTextOptions = true; + this.TeGyroXAxis.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.TeGyroXAxis.Properties.ReadOnly = true; + this.TeGyroXAxis.Size = new System.Drawing.Size(46, 24); + this.TeGyroXAxis.StyleController = this.LcMain; + this.TeGyroXAxis.TabIndex = 9; + // + // TeFunctionSwitch + // + this.TeFunctionSwitch.Location = new System.Drawing.Point(117, 56); + this.TeFunctionSwitch.Name = "TeFunctionSwitch"; + this.TeFunctionSwitch.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeFunctionSwitch.Properties.Appearance.Options.UseFont = true; + this.TeFunctionSwitch.Properties.Appearance.Options.UseTextOptions = true; + this.TeFunctionSwitch.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.TeFunctionSwitch.Properties.ReadOnly = true; + this.TeFunctionSwitch.Size = new System.Drawing.Size(66, 24); + this.TeFunctionSwitch.StyleController = this.LcMain; + this.TeFunctionSwitch.TabIndex = 7; + // + // TeTimeOutSet + // + this.TeTimeOutSet.Location = new System.Drawing.Point(117, 28); + this.TeTimeOutSet.Name = "TeTimeOutSet"; + this.TeTimeOutSet.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeTimeOutSet.Properties.Appearance.Options.UseFont = true; + this.TeTimeOutSet.Properties.Appearance.Options.UseTextOptions = true; + this.TeTimeOutSet.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.TeTimeOutSet.Properties.ReadOnly = true; + this.TeTimeOutSet.Size = new System.Drawing.Size(66, 24); + this.TeTimeOutSet.StyleController = this.LcMain; + this.TeTimeOutSet.TabIndex = 6; + // + // TeTimeOutSetNew + // + this.TeTimeOutSetNew.Location = new System.Drawing.Point(187, 28); + this.TeTimeOutSetNew.Name = "TeTimeOutSetNew"; + this.TeTimeOutSetNew.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeTimeOutSetNew.Properties.Appearance.Options.UseFont = true; + this.TeTimeOutSetNew.Properties.Appearance.Options.UseTextOptions = true; + this.TeTimeOutSetNew.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.TeTimeOutSetNew.Size = new System.Drawing.Size(76, 24); + this.TeTimeOutSetNew.StyleController = this.LcMain; + this.TeTimeOutSetNew.TabIndex = 6; + // + // TeFunctionSwitchNew + // + this.TeFunctionSwitchNew.Location = new System.Drawing.Point(187, 56); + this.TeFunctionSwitchNew.Name = "TeFunctionSwitchNew"; + this.TeFunctionSwitchNew.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeFunctionSwitchNew.Properties.Appearance.Options.UseFont = true; + this.TeFunctionSwitchNew.Properties.Appearance.Options.UseTextOptions = true; + this.TeFunctionSwitchNew.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.TeFunctionSwitchNew.Size = new System.Drawing.Size(76, 24); + this.TeFunctionSwitchNew.StyleController = this.LcMain; + this.TeFunctionSwitchNew.TabIndex = 6; + // + // TeGyroPolSelNew + // + this.TeGyroPolSelNew.Location = new System.Drawing.Point(739, 28); + this.TeGyroPolSelNew.Name = "TeGyroPolSelNew"; + this.TeGyroPolSelNew.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeGyroPolSelNew.Properties.Appearance.Options.UseFont = true; + this.TeGyroPolSelNew.Properties.Appearance.Options.UseTextOptions = true; + this.TeGyroPolSelNew.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.TeGyroPolSelNew.Size = new System.Drawing.Size(48, 24); + this.TeGyroPolSelNew.StyleController = this.LcMain; + this.TeGyroPolSelNew.TabIndex = 12; + // + // TeGyroFunctionSwitchNew + // + this.TeGyroFunctionSwitchNew.Location = new System.Drawing.Point(739, 56); + this.TeGyroFunctionSwitchNew.Name = "TeGyroFunctionSwitchNew"; + this.TeGyroFunctionSwitchNew.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeGyroFunctionSwitchNew.Properties.Appearance.Options.UseFont = true; + this.TeGyroFunctionSwitchNew.Properties.Appearance.Options.UseTextOptions = true; + this.TeGyroFunctionSwitchNew.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.TeGyroFunctionSwitchNew.Size = new System.Drawing.Size(49, 24); + this.TeGyroFunctionSwitchNew.StyleController = this.LcMain; + this.TeGyroFunctionSwitchNew.TabIndex = 12; + // + // TeGyroStateNew + // + this.TeGyroStateNew.Location = new System.Drawing.Point(739, 84); + this.TeGyroStateNew.Name = "TeGyroStateNew"; + this.TeGyroStateNew.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeGyroStateNew.Properties.Appearance.Options.UseFont = true; + this.TeGyroStateNew.Properties.Appearance.Options.UseTextOptions = true; + this.TeGyroStateNew.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.TeGyroStateNew.Size = new System.Drawing.Size(49, 24); + this.TeGyroStateNew.StyleController = this.LcMain; + this.TeGyroStateNew.TabIndex = 12; + // + // layoutControlItem3 + // + this.layoutControlItem3.Control = this.TeTimeOutSet; + this.layoutControlItem3.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem3.MaxSize = new System.Drawing.Size(0, 28); + this.layoutControlItem3.MinSize = new System.Drawing.Size(180, 28); + this.layoutControlItem3.Name = "layoutControlItem3"; + this.layoutControlItem3.Size = new System.Drawing.Size(180, 28); + this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem3.Text = " Time Out Setting"; + this.layoutControlItem3.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.layoutControlItem3.TextSize = new System.Drawing.Size(105, 14); + this.layoutControlItem3.TextToControlDistance = 5; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.TeFunctionSwitch; + this.layoutControlItem1.Location = new System.Drawing.Point(0, 28); + this.layoutControlItem1.MaxSize = new System.Drawing.Size(0, 28); + this.layoutControlItem1.MinSize = new System.Drawing.Size(164, 28); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(180, 28); + this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem1.Text = " Functional Switch"; + this.layoutControlItem1.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.layoutControlItem1.TextSize = new System.Drawing.Size(105, 20); + this.layoutControlItem1.TextToControlDistance = 5; + // + // layoutControlItem11 + // + this.layoutControlItem11.Control = this.TeTimeOutSetNew; + this.layoutControlItem11.ControlAlignment = System.Drawing.ContentAlignment.TopLeft; + this.layoutControlItem11.CustomizationFormText = " Set"; + this.layoutControlItem11.Location = new System.Drawing.Point(180, 0); + this.layoutControlItem11.MinSize = new System.Drawing.Size(80, 28); + this.layoutControlItem11.Name = "layoutControlItem11"; + this.layoutControlItem11.Size = new System.Drawing.Size(80, 28); + this.layoutControlItem11.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem11.Text = " Time Out Setting"; + this.layoutControlItem11.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.layoutControlItem11.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem11.TextToControlDistance = 0; + this.layoutControlItem11.TextVisible = false; + // + // layoutControlItem12 + // + this.layoutControlItem12.Control = this.TeFunctionSwitchNew; + this.layoutControlItem12.ControlAlignment = System.Drawing.ContentAlignment.TopLeft; + this.layoutControlItem12.CustomizationFormText = " Set"; + this.layoutControlItem12.Location = new System.Drawing.Point(180, 28); + this.layoutControlItem12.MinSize = new System.Drawing.Size(54, 28); + this.layoutControlItem12.Name = "layoutControlItem12"; + this.layoutControlItem12.Size = new System.Drawing.Size(80, 28); + this.layoutControlItem12.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem12.Text = " Time Out Setting"; + this.layoutControlItem12.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.layoutControlItem12.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem12.TextToControlDistance = 0; + this.layoutControlItem12.TextVisible = false; + // + // layoutControlItem4 + // + this.layoutControlItem4.Control = this.TeGyroXAxis; + this.layoutControlItem4.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem4.MaxSize = new System.Drawing.Size(105, 28); + this.layoutControlItem4.MinSize = new System.Drawing.Size(105, 28); + this.layoutControlItem4.Name = "layoutControlItem4"; + this.layoutControlItem4.Size = new System.Drawing.Size(105, 28); + this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem4.Text = " X-Axis"; + this.layoutControlItem4.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.layoutControlItem4.TextSize = new System.Drawing.Size(50, 20); + this.layoutControlItem4.TextToControlDistance = 5; + // + // layoutControlItem7 + // + this.layoutControlItem7.Control = this.TeGyroPolSel; + this.layoutControlItem7.Location = new System.Drawing.Point(217, 0); + this.layoutControlItem7.MinSize = new System.Drawing.Size(187, 28); + this.layoutControlItem7.Name = "layoutControlItem7"; + this.layoutControlItem7.Size = new System.Drawing.Size(187, 28); + this.layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem7.Text = " Gyro Policy Selection"; + this.layoutControlItem7.TextSize = new System.Drawing.Size(129, 14); + // + // layoutControlItem5 + // + this.layoutControlItem5.Control = this.TeGyroYAxis; + this.layoutControlItem5.Location = new System.Drawing.Point(0, 28); + this.layoutControlItem5.MaxSize = new System.Drawing.Size(105, 28); + this.layoutControlItem5.MinSize = new System.Drawing.Size(105, 28); + this.layoutControlItem5.Name = "layoutControlItem5"; + this.layoutControlItem5.Size = new System.Drawing.Size(105, 28); + this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem5.Text = " Y-Axis"; + this.layoutControlItem5.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.layoutControlItem5.TextSize = new System.Drawing.Size(50, 20); + this.layoutControlItem5.TextToControlDistance = 5; + // + // layoutControlItem6 + // + this.layoutControlItem6.Control = this.TeGyroZAxis; + this.layoutControlItem6.Location = new System.Drawing.Point(0, 56); + this.layoutControlItem6.MaxSize = new System.Drawing.Size(105, 28); + this.layoutControlItem6.MinSize = new System.Drawing.Size(105, 28); + this.layoutControlItem6.Name = "layoutControlItem6"; + this.layoutControlItem6.Size = new System.Drawing.Size(105, 28); + this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem6.Text = " Z-Axis"; + this.layoutControlItem6.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.layoutControlItem6.TextSize = new System.Drawing.Size(50, 20); + this.layoutControlItem6.TextToControlDistance = 5; + // + // layoutControlItem8 + // + this.layoutControlItem8.Control = this.TeGyroFunctionSwitch; + this.layoutControlItem8.Location = new System.Drawing.Point(217, 28); + this.layoutControlItem8.MinSize = new System.Drawing.Size(187, 28); + this.layoutControlItem8.Name = "layoutControlItem8"; + this.layoutControlItem8.Size = new System.Drawing.Size(187, 28); + this.layoutControlItem8.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem8.Text = " Gyro Functional Switch"; + this.layoutControlItem8.TextSize = new System.Drawing.Size(129, 14); + // + // layoutControlItem9 + // + this.layoutControlItem9.Control = this.TeGyroState; + this.layoutControlItem9.Location = new System.Drawing.Point(217, 56); + this.layoutControlItem9.MinSize = new System.Drawing.Size(187, 28); + this.layoutControlItem9.Name = "layoutControlItem9"; + this.layoutControlItem9.Size = new System.Drawing.Size(187, 28); + this.layoutControlItem9.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem9.Text = " Gyro State"; + this.layoutControlItem9.TextSize = new System.Drawing.Size(129, 14); + // + // layoutControlItem15 + // + this.layoutControlItem15.Control = this.TeGyroXAxisNew; + this.layoutControlItem15.CustomizationFormText = " Set"; + this.layoutControlItem15.Location = new System.Drawing.Point(105, 0); + this.layoutControlItem15.MaxSize = new System.Drawing.Size(52, 0); + this.layoutControlItem15.MinSize = new System.Drawing.Size(52, 28); + this.layoutControlItem15.Name = "layoutControlItem15"; + this.layoutControlItem15.Size = new System.Drawing.Size(52, 28); + this.layoutControlItem15.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem15.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem15.TextVisible = false; + // + // layoutControlItem16 + // + this.layoutControlItem16.Control = this.TeGyroYAxisNew; + this.layoutControlItem16.CustomizationFormText = " Set"; + this.layoutControlItem16.Location = new System.Drawing.Point(105, 28); + this.layoutControlItem16.MaxSize = new System.Drawing.Size(52, 0); + this.layoutControlItem16.MinSize = new System.Drawing.Size(52, 28); + this.layoutControlItem16.Name = "layoutControlItem16"; + this.layoutControlItem16.Size = new System.Drawing.Size(52, 28); + this.layoutControlItem16.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem16.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem16.TextVisible = false; + // + // layoutControlItem17 + // + this.layoutControlItem17.Control = this.TeGyroZAxisNew; + this.layoutControlItem17.CustomizationFormText = " Set"; + this.layoutControlItem17.Location = new System.Drawing.Point(105, 56); + this.layoutControlItem17.MaxSize = new System.Drawing.Size(52, 0); + this.layoutControlItem17.MinSize = new System.Drawing.Size(52, 28); + this.layoutControlItem17.Name = "layoutControlItem17"; + this.layoutControlItem17.Size = new System.Drawing.Size(52, 28); + this.layoutControlItem17.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem17.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem17.TextVisible = false; + // + // layoutControlItem22 + // + this.layoutControlItem22.Control = this.TeGyroPolSelNew; + this.layoutControlItem22.ControlAlignment = System.Drawing.ContentAlignment.TopLeft; + this.layoutControlItem22.CustomizationFormText = " Set"; + this.layoutControlItem22.Location = new System.Drawing.Point(404, 0); + this.layoutControlItem22.MaxSize = new System.Drawing.Size(52, 0); + this.layoutControlItem22.MinSize = new System.Drawing.Size(52, 28); + this.layoutControlItem22.Name = "layoutControlItem22"; + this.layoutControlItem22.Size = new System.Drawing.Size(52, 28); + this.layoutControlItem22.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem22.Text = " Gyro Policy Selection"; + this.layoutControlItem22.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem22.TextVisible = false; + // + // layoutControlItem23 + // + this.layoutControlItem23.Control = this.TeGyroFunctionSwitchNew; + this.layoutControlItem23.ControlAlignment = System.Drawing.ContentAlignment.TopLeft; + this.layoutControlItem23.CustomizationFormText = " Set"; + this.layoutControlItem23.Location = new System.Drawing.Point(404, 28); + this.layoutControlItem23.MinSize = new System.Drawing.Size(52, 28); + this.layoutControlItem23.Name = "layoutControlItem23"; + this.layoutControlItem23.Size = new System.Drawing.Size(53, 28); + this.layoutControlItem23.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem23.Text = " Gyro Policy Selection"; + this.layoutControlItem23.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem23.TextVisible = false; + // + // layoutControlItem24 + // + this.layoutControlItem24.Control = this.TeGyroStateNew; + this.layoutControlItem24.ControlAlignment = System.Drawing.ContentAlignment.TopLeft; + this.layoutControlItem24.CustomizationFormText = " Set"; + this.layoutControlItem24.Location = new System.Drawing.Point(404, 56); + this.layoutControlItem24.MinSize = new System.Drawing.Size(52, 28); + this.layoutControlItem24.Name = "layoutControlItem24"; + this.layoutControlItem24.Size = new System.Drawing.Size(53, 28); + this.layoutControlItem24.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem24.Text = " Gyro Policy Selection"; + this.layoutControlItem24.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem24.TextVisible = false; + // + // UcAntiTheftControl + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.LcMain); + this.Name = "UcAntiTheftControl"; + this.Size = new System.Drawing.Size(850, 190); + ((System.ComponentModel.ISupportInitialize)(this.LcMain)).EndInit(); + this.LcMain.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem18)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem19)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem20)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem21)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem25)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem26)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeGyroZAxisNew.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeGyroYAxisNew.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeGyroXAxisNew.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeGyroState.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeGyroFunctionSwitch.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeGyroPolSel.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeGyroZAxis.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeGyroYAxis.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeGyroXAxis.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeFunctionSwitch.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeTimeOutSet.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeTimeOutSetNew.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeFunctionSwitchNew.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeGyroPolSelNew.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeGyroFunctionSwitchNew.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeGyroStateNew.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem15)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem16)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem17)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem22)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem23)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem24)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl LcMain; + private DevExpress.XtraLayout.LayoutControlGroup Root; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + private DevExpress.XtraEditors.TextEdit TeTimeOutSet; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private DevExpress.XtraEditors.SimpleButton BtnCommUnlock; + private DevExpress.XtraEditors.TextEdit TeFunctionSwitch; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraEditors.SimpleButton BtnGyroUnlock; + private DevExpress.XtraEditors.TextEdit TeGyroState; + private DevExpress.XtraEditors.TextEdit TeGyroFunctionSwitch; + private DevExpress.XtraEditors.TextEdit TeGyroPolSel; + private DevExpress.XtraEditors.TextEdit TeGyroZAxis; + private DevExpress.XtraEditors.TextEdit TeGyroYAxis; + private DevExpress.XtraEditors.TextEdit TeGyroXAxis; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem10; + private System.Windows.Forms.Timer TmrDisplay; + private DevExpress.XtraEditors.SimpleButton BtnATCommFuncSwSet; + private DevExpress.XtraEditors.SimpleButton BtnATCommTimeoutSet; + private DevExpress.XtraEditors.TextEdit TeTimeOutSetNew; + private DevExpress.XtraEditors.TextEdit TeFunctionSwitchNew; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem11; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem12; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem13; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem14; + private DevExpress.XtraEditors.TextEdit TeGyroZAxisNew; + private DevExpress.XtraEditors.TextEdit TeGyroYAxisNew; + private DevExpress.XtraEditors.TextEdit TeGyroXAxisNew; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem15; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem16; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem17; + private DevExpress.XtraEditors.SimpleButton BtnGyroZAxisSet; + private DevExpress.XtraEditors.SimpleButton BtnGyroYAxisSet; + private DevExpress.XtraEditors.SimpleButton BtnGyroXAxisSet; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem18; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem19; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem20; + private DevExpress.XtraEditors.SimpleButton BtnGyroPolSel; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem21; + private DevExpress.XtraEditors.TextEdit TeGyroPolSelNew; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem22; + private DevExpress.XtraEditors.TextEdit TeGyroFunctionSwitchNew; + private DevExpress.XtraEditors.TextEdit TeGyroStateNew; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem23; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem24; + private DevExpress.XtraEditors.SimpleButton BtnGyroState; + private DevExpress.XtraEditors.SimpleButton BtnFuncSw; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem25; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem26; + } +} diff --git a/LFP_Manager/Controls/UcAntiTheftControl.cs b/LFP_Manager/Controls/UcAntiTheftControl.cs new file mode 100644 index 0000000..546abe2 --- /dev/null +++ b/LFP_Manager/Controls/UcAntiTheftControl.cs @@ -0,0 +1,289 @@ +using DevExpress.XtraEditors; +using DevExpress.XtraRichEdit.Import.Doc; +using LFP_Manager.DataStructure; +using LFP_Manager.Function; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using static DevExpress.Xpo.Helpers.AssociatedCollectionCriteriaHelper; + +namespace LFP_Manager.Controls +{ + public partial class UcAntiTheftControl : DevExpress.XtraEditors.XtraUserControl + { + #region DELEGATE + + public delegate void setCalibUpdate(object sender); + public delegate void setCalibCommand(int mode, int index, int flag, + ref CsDeviceData.DeviceModuleData.DeviceParamData aParam, + ref CsDeviceData.DeviceModuleData.DeviceCalibration aCalib); + public delegate Int32 getBattData(int item, int cno); + + #endregion + + #region VARIABLES + + private int SystemId = 0; + private const int CALC_INDEX = 6; + + private CsDeviceData.DeviceModuleData.DeviceParamData rParam; + + private CsDeviceData.DeviceModuleData.DeviceCalibration rCalib; + private CsDeviceData.DeviceModuleData.DeviceCalibration wCalib; + + public event setCalibCommand OnCommand = null; + public event getBattData OnGetBattData = null; + + public event SendDataUartEvent OnSendUartData = null; + + #endregion + + #region CONSTRUCTORS + public UcAntiTheftControl() + { + InitializeComponent(); + + TmrDisplay.Enabled = true; + } + #endregion + + #region EXT EVENT FUNCTION + + private void OnCommnadEvent(int mode, int index, int flag, + ref CsDeviceData.DeviceModuleData.DeviceParamData aParam, + ref CsDeviceData.DeviceModuleData.DeviceCalibration aCalib) + { + OnCommand?.Invoke(mode, index, flag, ref aParam, ref aCalib); + } + + private Int32 OnGetBattDataEvent(int item, int cno) + { + Int32 result = 0; + + if (OnGetBattData != null) + { + result = OnGetBattData(item, cno); + } + return result; + } + + #endregion + + #region PUBLIC FUCTIONS + + public void UpdateData(int sId, CsDeviceData.DeviceModuleData.DeviceCalibration aCalib) + { + SystemId = sId; + rCalib = aCalib; + } + + #endregion + + #region DISPLAY DATA + + private void DisplayAntiTheft() + { + if (rCalib != null) + { + TeTimeOutSet.Text = string.Format("{0}", rCalib.AntiTheftComm.TimeOut); + TeFunctionSwitch.Text = string.Format("{0}", rCalib.AntiTheftComm.FuncSwitch); + + TeGyroXAxis.Text = string.Format("{0}", rCalib.AntiTheftGyro.XAxis); + TeGyroYAxis.Text = string.Format("{0}", rCalib.AntiTheftGyro.YAxis); + TeGyroZAxis.Text = string.Format("{0}", rCalib.AntiTheftGyro.ZAxis); + + TeGyroPolSel.Text = string.Format("{0}", rCalib.AntiTheftGyro.GyroPolicySel); + TeGyroFunctionSwitch.Text = string.Format("{0}", rCalib.AntiTheftGyro.GyroFuncSwitch); + TeGyroState.Text = string.Format("{0}", rCalib.AntiTheftGyro.GyroState); + } + } + + #endregion + + #region BUTTON EVENT + private void BtnCommUnlock_Click(object sender, EventArgs e) + { + AntiTheftCommParamWrite(0x3001, 0); + } + + private void BtnATCommTimeoutSet_Click(object sender, EventArgs e) + { + if (TeTimeOutSetNew.Text != "") + { + int tmp = Convert.ToInt32(TeTimeOutSetNew.Text); + AntiTheftCommParamWrite(0x3000, tmp); + } + } + + private void BtnATCommFuncSwSet_Click(object sender, EventArgs e) + { + if (TeFunctionSwitchNew.Text != "") + { + int tmp = Convert.ToInt32(TeFunctionSwitchNew.Text); + AntiTheftCommParamWrite(0x3002, tmp); + } + } + + private void BtnGyroUnlock_Click(object sender, EventArgs e) + { + GyroScopeParamWrite(0x4007, 1); + } + + private void MultiDateWriteCmd(ushort addr, int data, int len) + { + byte[] crc; + int i = 0; + // Normal mode --> Bootloader mode + byte[] sdata = new byte[7 + 2 + 2]; + + sdata[i++] = (byte)SystemId; // Device ID + sdata[i++] = (byte)CsSerialCommFunctionDelta.PRESET_MULTI_REG; // Command + sdata[i++] = (byte)(addr >> 8); // Write Register Address MSB + sdata[i++] = (byte)(addr >> 0); // Write Register Address LSB + sdata[i++] = (byte)(1 >> 8); // Write Count of Register MSB + sdata[i++] = (byte)(1 >> 0); // Write Count of Register LSB + sdata[i++] = (byte)(1 * 2); // Byte Count - [2 * (Num of register)] + + sdata[i++] = (byte)(data >> 8); + sdata[i++] = (byte)(data >> 0); + + crc = CsSerialCommFunctionDelta.GetCRC(sdata, i); + + sdata[i++] = crc[0]; // CRCH + sdata[i++] = crc[1]; // CRCL + + OnSendUartData?.Invoke(addr, sdata, false, 1); + } + + private void BtnGyroXAxisSet_Click(object sender, EventArgs e) + { + if (TeGyroXAxisNew.Text != "") + { + int tmp = Convert.ToInt32(TeGyroXAxisNew.Text); + wCalib = rCalib.DeepCopy(); + wCalib.AntiTheftGyro.XAxis = tmp; + OnCommand?.Invoke(26, CALC_INDEX, 1, ref rParam, ref wCalib); + } + } + + private void BtnGyroYAxisSet_Click(object sender, EventArgs e) + { + if (TeGyroYAxisNew.Text != "") + { + int tmp = Convert.ToInt32(TeGyroYAxisNew.Text); + wCalib = rCalib.DeepCopy(); + wCalib.AntiTheftGyro.YAxis = tmp; + OnCommand?.Invoke(27, CALC_INDEX, 1, ref rParam, ref wCalib); + } + } + + private void BtnGyroZAxisSet_Click(object sender, EventArgs e) + { + if (TeGyroZAxisNew.Text != "") + { + int tmp = Convert.ToInt32(TeGyroZAxisNew.Text); + wCalib = rCalib.DeepCopy(); + wCalib.AntiTheftGyro.ZAxis = tmp; + OnCommand?.Invoke(28, CALC_INDEX, 1, ref rParam, ref wCalib); + } + } + + private void GyroScopeParamWrite(ushort waddr, int data) + { + byte[] crc; + ushort raddr = 0x4000; + int i = 0; + // Normal mode --> Bootloader mode + byte[] sdata = new byte[11 + 2 + 2]; + + sdata[i++] = (byte)SystemId; // Device ID + sdata[i++] = (byte)CsSerialCommFunctionDelta.READ_WRITE_REG; // Command + sdata[i++] = (byte)(raddr >> 8); // Read Register Address MSB + sdata[i++] = (byte)(raddr >> 0); // Read Register Address LSB + sdata[i++] = (byte)(7 >> 8); // Read Count of Register MSB + sdata[i++] = (byte)(7 >> 0); // Read Count of Register LSB + sdata[i++] = (byte)(waddr >> 8); // Write Register Address MSB + sdata[i++] = (byte)(waddr >> 0); // Write Register Address LSB + sdata[i++] = (byte)(1 >> 8); // Write Count of Register MSB + sdata[i++] = (byte)(1 >> 0); // Write Count of Register LSB + sdata[i++] = (byte)(1 * 2); // Byte Count - [2 * (Num of register)] + + sdata[i++] = (byte)(data >> 8); + sdata[i++] = (byte)(data >> 0); + + crc = CsSerialCommFunctionDelta.GetCRC(sdata, i); + + sdata[i++] = crc[1]; // CRCH + sdata[i++] = crc[0]; // CRCL + + OnSendUartData?.Invoke((ushort)SystemId, sdata, false, 1); + } + + private void AntiTheftCommParamWrite(ushort waddr, int data) + { + byte[] crc; + ushort raddr = 0x3000; + int i = 0; + // Normal mode --> Bootloader mode + byte[] sdata = new byte[11 + 2 + 2]; + + sdata[i++] = (byte)SystemId; // Device ID + sdata[i++] = (byte)CsSerialCommFunctionDelta.SPECIAL_REG_02; // Command + sdata[i++] = (byte)(raddr >> 8); // Read Register Address MSB + sdata[i++] = (byte)(raddr >> 0); // Read Register Address LSB + sdata[i++] = (byte)(3 >> 8); // Read Count of Register MSB + sdata[i++] = (byte)(3 >> 0); // Read Count of Register LSB + sdata[i++] = (byte)(waddr >> 8); // Write Register Address MSB + sdata[i++] = (byte)(waddr >> 0); // Write Register Address LSB + sdata[i++] = (byte)(1 >> 8); // Write Count of Register MSB + sdata[i++] = (byte)(1 >> 0); // Write Count of Register LSB + sdata[i++] = (byte)(1 * 2); // Byte Count - [2 * (Num of register)] + + sdata[i++] = (byte)(data >> 8); + sdata[i++] = (byte)(data >> 0); + + crc = CsSerialCommFunctionDelta.GetCRC(sdata, i); + + sdata[i++] = crc[1]; // CRCH + sdata[i++] = crc[0]; // CRCL + + OnSendUartData?.Invoke((ushort)SystemId, sdata, false, 1); + } + + private void BtnGyroPolSel_Click(object sender, EventArgs e) + { + if (TeGyroPolSelNew.Text != "") + { + int tmp = Convert.ToInt32(TeGyroPolSelNew.Text); + GyroScopeParamWrite(0x4003, tmp); + } + } + + private void BtnFuncSw_Click(object sender, EventArgs e) + { + if (TeGyroFunctionSwitchNew.Text != "") + { + int tmp = Convert.ToInt32(TeGyroFunctionSwitchNew.Text); + GyroScopeParamWrite(0x4004, tmp); + } + } + + private void BtnGyroState_Click(object sender, EventArgs e) + { + } + #endregion + + #region TIMER EVENT + private void TmrDisplay_Tick(object sender, EventArgs e) + { + DisplayAntiTheft(); + } + #endregion + } +} diff --git a/LFP_Manager/Controls/UcAntiTheftControl.resx b/LFP_Manager/Controls/UcAntiTheftControl.resx new file mode 100644 index 0000000..c9162a8 --- /dev/null +++ b/LFP_Manager/Controls/UcAntiTheftControl.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/LFP_Manager/Controls/UcFaultAlarm.Designer.cs b/LFP_Manager/Controls/UcFaultAlarm.Designer.cs new file mode 100644 index 0000000..d752071 --- /dev/null +++ b/LFP_Manager/Controls/UcFaultAlarm.Designer.cs @@ -0,0 +1,168 @@ +namespace LFP_Manager.Controls +{ + partial class UcFaultAlarm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + DevExpress.XtraGauges.Core.Model.IndicatorState indicatorState1 = new DevExpress.XtraGauges.Core.Model.IndicatorState(); + DevExpress.XtraGauges.Core.Model.IndicatorState indicatorState2 = new DevExpress.XtraGauges.Core.Model.IndicatorState(); + DevExpress.XtraGauges.Core.Model.IndicatorState indicatorState3 = new DevExpress.XtraGauges.Core.Model.IndicatorState(); + DevExpress.XtraGauges.Core.Model.IndicatorState indicatorState4 = new DevExpress.XtraGauges.Core.Model.IndicatorState(); + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.gaugeFault = new DevExpress.XtraGauges.Win.GaugeControl(); + this.stateIndicatorGauge1 = new DevExpress.XtraGauges.Win.Gauges.State.StateIndicatorGauge(); + this.IndicatorFault = new DevExpress.XtraGauges.Win.Gauges.State.StateIndicatorComponent(); + this.Root = new DevExpress.XtraLayout.LayoutControlGroup(); + this.LbFaultName = new DevExpress.XtraLayout.SimpleLabelItem(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.stateIndicatorGauge1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.IndicatorFault)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.LbFaultName)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.gaugeFault); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(784, 122, 650, 400); + this.layoutControl1.Root = this.Root; + this.layoutControl1.Size = new System.Drawing.Size(354, 30); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // gaugeFault + // + this.gaugeFault.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] { + this.stateIndicatorGauge1}); + this.gaugeFault.Location = new System.Drawing.Point(0, 0); + this.gaugeFault.Name = "gaugeFault"; + this.gaugeFault.Size = new System.Drawing.Size(40, 30); + this.gaugeFault.TabIndex = 5; + // + // stateIndicatorGauge1 + // + this.stateIndicatorGauge1.Bounds = new System.Drawing.Rectangle(6, 6, 28, 20); + this.stateIndicatorGauge1.Indicators.AddRange(new DevExpress.XtraGauges.Win.Gauges.State.StateIndicatorComponent[] { + this.IndicatorFault}); + this.stateIndicatorGauge1.Name = "stateIndicatorGauge1"; + // + // IndicatorFault + // + this.IndicatorFault.Center = new DevExpress.XtraGauges.Core.Base.PointF2D(124F, 124F); + this.IndicatorFault.Name = "stateIndicatorComponent1"; + this.IndicatorFault.Size = new System.Drawing.SizeF(200F, 200F); + this.IndicatorFault.StateIndex = 3; + indicatorState1.Name = "State1"; + indicatorState1.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.ElectricLight1; + indicatorState2.Name = "State2"; + indicatorState2.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.ElectricLight2; + indicatorState3.Name = "State3"; + indicatorState3.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.ElectricLight3; + indicatorState4.Name = "State4"; + indicatorState4.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.ElectricLight4; + this.IndicatorFault.States.AddRange(new DevExpress.XtraGauges.Core.Model.IIndicatorState[] { + indicatorState1, + indicatorState2, + indicatorState3, + indicatorState4}); + // + // Root + // + this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.Root.GroupBordersVisible = false; + this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.LbFaultName, + this.layoutControlItem1}); + this.Root.Name = "Root"; + this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0); + this.Root.Size = new System.Drawing.Size(354, 30); + this.Root.TextVisible = false; + // + // LbFaultName + // + this.LbFaultName.AllowHotTrack = false; + this.LbFaultName.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.LbFaultName.AppearanceItemCaption.Options.UseFont = true; + this.LbFaultName.Location = new System.Drawing.Point(40, 0); + this.LbFaultName.MaxSize = new System.Drawing.Size(0, 35); + this.LbFaultName.MinSize = new System.Drawing.Size(54, 30); + this.LbFaultName.Name = "LbFaultName"; + this.LbFaultName.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0); + this.LbFaultName.Size = new System.Drawing.Size(314, 30); + this.LbFaultName.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.LbFaultName.Text = "Fault Name"; + this.LbFaultName.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.LbFaultName.TextSize = new System.Drawing.Size(50, 20); + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.gaugeFault; + this.layoutControlItem1.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem1.MaxSize = new System.Drawing.Size(40, 0); + this.layoutControlItem1.MinSize = new System.Drawing.Size(40, 24); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0); + this.layoutControlItem1.Size = new System.Drawing.Size(40, 30); + this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // UcFaultAlarm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.layoutControl1); + this.Name = "UcFaultAlarm"; + this.Size = new System.Drawing.Size(354, 30); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.stateIndicatorGauge1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.IndicatorFault)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.LbFaultName)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup Root; + private DevExpress.XtraLayout.SimpleLabelItem LbFaultName; + private DevExpress.XtraGauges.Win.GaugeControl gaugeFault; + private DevExpress.XtraGauges.Win.Gauges.State.StateIndicatorGauge stateIndicatorGauge1; + private DevExpress.XtraGauges.Win.Gauges.State.StateIndicatorComponent IndicatorFault; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + } +} diff --git a/LFP_Manager/Controls/UcFaultAlarm.cs b/LFP_Manager/Controls/UcFaultAlarm.cs new file mode 100644 index 0000000..0b60690 --- /dev/null +++ b/LFP_Manager/Controls/UcFaultAlarm.cs @@ -0,0 +1,52 @@ +using DevExpress.XtraEditors; +using DevExpress.XtraGauges.Win; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Security.Claims; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace LFP_Manager.Controls +{ + public partial class UcFaultAlarm : DevExpress.XtraEditors.XtraUserControl + { + #region VARIABLES + private int id = 0; + #endregion + + #region CONSTRUCTOR + public UcFaultAlarm() + { + InitializeComponent(); + + gaugeFault.BackColor = SystemColors.Control; + gaugeFault.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.NoBorder; + gaugeFault.LayoutPadding = new DevExpress.XtraGauges.Core.Base.Thickness(2, 2, 2, 2); + } + #endregion + + #region PUBLIC METHODS + public void SetFaultName(int no, string nm) + { + id = no; + LbFaultName.Text = nm; + } + public void SetFault(int alarm) + { + IndicatorFault.StateIndex = alarm; + } + public void SetControlFlag(bool flag) + { + if (flag) + IndicatorFault.StateIndex = 3; + else + IndicatorFault.StateIndex = 0; + } + #endregion + } +} diff --git a/LFP_Manager/Controls/UcFaultAlarm.resx b/LFP_Manager/Controls/UcFaultAlarm.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/LFP_Manager/Controls/UcFaultAlarm.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/LFP_Manager/Controls/UcFaultAlarmGroup.Designer.cs b/LFP_Manager/Controls/UcFaultAlarmGroup.Designer.cs new file mode 100644 index 0000000..143b9d0 --- /dev/null +++ b/LFP_Manager/Controls/UcFaultAlarmGroup.Designer.cs @@ -0,0 +1,455 @@ +namespace LFP_Manager.Controls +{ + partial class UcFaultAlarmGroup + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.Root = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.ucFaultAlarm14 = new LFP_Manager.Controls.UcFaultAlarm(); + this.ucFaultAlarm13 = new LFP_Manager.Controls.UcFaultAlarm(); + this.ucFaultAlarm8 = new LFP_Manager.Controls.UcFaultAlarm(); + this.ucFaultAlarm6 = new LFP_Manager.Controls.UcFaultAlarm(); + this.ucFaultAlarm4 = new LFP_Manager.Controls.UcFaultAlarm(); + this.ucFaultAlarm10 = new LFP_Manager.Controls.UcFaultAlarm(); + this.ucFaultAlarm12 = new LFP_Manager.Controls.UcFaultAlarm(); + this.ucFaultAlarm2 = new LFP_Manager.Controls.UcFaultAlarm(); + this.ucFaultAlarm11 = new LFP_Manager.Controls.UcFaultAlarm(); + this.ucFaultAlarm9 = new LFP_Manager.Controls.UcFaultAlarm(); + this.ucFaultAlarm7 = new LFP_Manager.Controls.UcFaultAlarm(); + this.ucFaultAlarm5 = new LFP_Manager.Controls.UcFaultAlarm(); + this.ucFaultAlarm3 = new LFP_Manager.Controls.UcFaultAlarm(); + this.ucFaultAlarm1 = new LFP_Manager.Controls.UcFaultAlarm(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem11 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem13 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem14 = new DevExpress.XtraLayout.LayoutControlItem(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.ucFaultAlarm14); + this.layoutControl1.Controls.Add(this.ucFaultAlarm13); + this.layoutControl1.Controls.Add(this.ucFaultAlarm8); + this.layoutControl1.Controls.Add(this.ucFaultAlarm6); + this.layoutControl1.Controls.Add(this.ucFaultAlarm4); + this.layoutControl1.Controls.Add(this.ucFaultAlarm10); + this.layoutControl1.Controls.Add(this.ucFaultAlarm12); + this.layoutControl1.Controls.Add(this.ucFaultAlarm2); + this.layoutControl1.Controls.Add(this.ucFaultAlarm11); + this.layoutControl1.Controls.Add(this.ucFaultAlarm9); + this.layoutControl1.Controls.Add(this.ucFaultAlarm7); + this.layoutControl1.Controls.Add(this.ucFaultAlarm5); + this.layoutControl1.Controls.Add(this.ucFaultAlarm3); + this.layoutControl1.Controls.Add(this.ucFaultAlarm1); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(443, 439, 650, 400); + this.layoutControl1.Root = this.Root; + this.layoutControl1.Size = new System.Drawing.Size(1080, 95); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // Root + // + this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.Root.GroupBordersVisible = false; + this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlGroup1}); + this.Root.Name = "Root"; + this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0); + this.Root.ShowInCustomizationForm = false; + this.Root.Size = new System.Drawing.Size(1080, 95); + this.Root.TextVisible = false; + // + // layoutControlGroup1 + // + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem1, + this.layoutControlItem2, + this.layoutControlItem3, + this.layoutControlItem4, + this.layoutControlItem7, + this.layoutControlItem5, + this.layoutControlItem6, + this.layoutControlItem8, + this.layoutControlItem9, + this.layoutControlItem10, + this.layoutControlItem11, + this.layoutControlItem12, + this.layoutControlItem13, + this.layoutControlItem14}); + this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0); + this.layoutControlGroup1.Name = "layoutControlGroup1"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0); + this.layoutControlGroup1.Size = new System.Drawing.Size(1080, 95); + this.layoutControlGroup1.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0); + this.layoutControlGroup1.Text = "Fault Alarm"; + // + // ucFaultAlarm14 + // + this.ucFaultAlarm14.Location = new System.Drawing.Point(925, 60); + this.ucFaultAlarm14.Name = "ucFaultAlarm14"; + this.ucFaultAlarm14.Size = new System.Drawing.Size(152, 32); + this.ucFaultAlarm14.TabIndex = 17; + // + // ucFaultAlarm13 + // + this.ucFaultAlarm13.Location = new System.Drawing.Point(925, 24); + this.ucFaultAlarm13.Name = "ucFaultAlarm13"; + this.ucFaultAlarm13.Size = new System.Drawing.Size(152, 32); + this.ucFaultAlarm13.TabIndex = 16; + // + // ucFaultAlarm8 + // + this.ucFaultAlarm8.Location = new System.Drawing.Point(463, 60); + this.ucFaultAlarm8.Name = "ucFaultAlarm8"; + this.ucFaultAlarm8.Size = new System.Drawing.Size(149, 32); + this.ucFaultAlarm8.TabIndex = 15; + // + // ucFaultAlarm6 + // + this.ucFaultAlarm6.Location = new System.Drawing.Point(309, 60); + this.ucFaultAlarm6.Name = "ucFaultAlarm6"; + this.ucFaultAlarm6.Size = new System.Drawing.Size(150, 32); + this.ucFaultAlarm6.TabIndex = 14; + // + // ucFaultAlarm4 + // + this.ucFaultAlarm4.Location = new System.Drawing.Point(156, 60); + this.ucFaultAlarm4.Name = "ucFaultAlarm4"; + this.ucFaultAlarm4.Size = new System.Drawing.Size(149, 32); + this.ucFaultAlarm4.TabIndex = 13; + // + // ucFaultAlarm10 + // + this.ucFaultAlarm10.Location = new System.Drawing.Point(616, 60); + this.ucFaultAlarm10.Name = "ucFaultAlarm10"; + this.ucFaultAlarm10.Size = new System.Drawing.Size(152, 32); + this.ucFaultAlarm10.TabIndex = 12; + // + // ucFaultAlarm12 + // + this.ucFaultAlarm12.Location = new System.Drawing.Point(772, 60); + this.ucFaultAlarm12.Name = "ucFaultAlarm12"; + this.ucFaultAlarm12.Size = new System.Drawing.Size(149, 32); + this.ucFaultAlarm12.TabIndex = 11; + // + // ucFaultAlarm2 + // + this.ucFaultAlarm2.Location = new System.Drawing.Point(3, 60); + this.ucFaultAlarm2.Name = "ucFaultAlarm2"; + this.ucFaultAlarm2.Size = new System.Drawing.Size(149, 32); + this.ucFaultAlarm2.TabIndex = 10; + // + // ucFaultAlarm11 + // + this.ucFaultAlarm11.Location = new System.Drawing.Point(772, 24); + this.ucFaultAlarm11.Name = "ucFaultAlarm11"; + this.ucFaultAlarm11.Size = new System.Drawing.Size(149, 32); + this.ucFaultAlarm11.TabIndex = 9; + // + // ucFaultAlarm9 + // + this.ucFaultAlarm9.Location = new System.Drawing.Point(616, 24); + this.ucFaultAlarm9.Name = "ucFaultAlarm9"; + this.ucFaultAlarm9.Size = new System.Drawing.Size(152, 32); + this.ucFaultAlarm9.TabIndex = 8; + // + // ucFaultAlarm7 + // + this.ucFaultAlarm7.Location = new System.Drawing.Point(463, 24); + this.ucFaultAlarm7.Name = "ucFaultAlarm7"; + this.ucFaultAlarm7.Size = new System.Drawing.Size(149, 32); + this.ucFaultAlarm7.TabIndex = 7; + // + // ucFaultAlarm5 + // + this.ucFaultAlarm5.Location = new System.Drawing.Point(309, 24); + this.ucFaultAlarm5.Name = "ucFaultAlarm5"; + this.ucFaultAlarm5.Size = new System.Drawing.Size(150, 32); + this.ucFaultAlarm5.TabIndex = 6; + // + // ucFaultAlarm3 + // + this.ucFaultAlarm3.Location = new System.Drawing.Point(156, 24); + this.ucFaultAlarm3.Name = "ucFaultAlarm3"; + this.ucFaultAlarm3.Size = new System.Drawing.Size(149, 32); + this.ucFaultAlarm3.TabIndex = 5; + // + // ucFaultAlarm1 + // + this.ucFaultAlarm1.Location = new System.Drawing.Point(3, 24); + this.ucFaultAlarm1.Name = "ucFaultAlarm1"; + this.ucFaultAlarm1.Size = new System.Drawing.Size(149, 32); + this.ucFaultAlarm1.TabIndex = 4; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.ucFaultAlarm1; + this.layoutControlItem1.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem1.MinSize = new System.Drawing.Size(108, 34); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(153, 36); + this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.ucFaultAlarm3; + this.layoutControlItem2.Location = new System.Drawing.Point(153, 0); + this.layoutControlItem2.MinSize = new System.Drawing.Size(108, 30); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(153, 36); + this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // layoutControlItem3 + // + this.layoutControlItem3.Control = this.ucFaultAlarm5; + this.layoutControlItem3.Location = new System.Drawing.Point(306, 0); + this.layoutControlItem3.MinSize = new System.Drawing.Size(108, 30); + this.layoutControlItem3.Name = "layoutControlItem3"; + this.layoutControlItem3.Size = new System.Drawing.Size(154, 36); + this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem3.TextVisible = false; + // + // layoutControlItem4 + // + this.layoutControlItem4.Control = this.ucFaultAlarm7; + this.layoutControlItem4.Location = new System.Drawing.Point(460, 0); + this.layoutControlItem4.MinSize = new System.Drawing.Size(108, 30); + this.layoutControlItem4.Name = "layoutControlItem4"; + this.layoutControlItem4.Size = new System.Drawing.Size(153, 36); + this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem4.TextVisible = false; + // + // layoutControlItem7 + // + this.layoutControlItem7.Control = this.ucFaultAlarm2; + this.layoutControlItem7.Location = new System.Drawing.Point(0, 36); + this.layoutControlItem7.MinSize = new System.Drawing.Size(108, 34); + this.layoutControlItem7.Name = "layoutControlItem7"; + this.layoutControlItem7.Size = new System.Drawing.Size(153, 36); + this.layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem7.TextVisible = false; + // + // layoutControlItem5 + // + this.layoutControlItem5.Control = this.ucFaultAlarm9; + this.layoutControlItem5.Location = new System.Drawing.Point(613, 0); + this.layoutControlItem5.MinSize = new System.Drawing.Size(108, 30); + this.layoutControlItem5.Name = "layoutControlItem5"; + this.layoutControlItem5.Size = new System.Drawing.Size(156, 36); + this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem5.TextVisible = false; + // + // layoutControlItem6 + // + this.layoutControlItem6.Control = this.ucFaultAlarm11; + this.layoutControlItem6.Location = new System.Drawing.Point(769, 0); + this.layoutControlItem6.MinSize = new System.Drawing.Size(108, 30); + this.layoutControlItem6.Name = "layoutControlItem6"; + this.layoutControlItem6.Size = new System.Drawing.Size(153, 36); + this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem6.TextVisible = false; + // + // layoutControlItem8 + // + this.layoutControlItem8.Control = this.ucFaultAlarm4; + this.layoutControlItem8.CustomizationFormText = "layoutControlItem8"; + this.layoutControlItem8.Location = new System.Drawing.Point(153, 36); + this.layoutControlItem8.MinSize = new System.Drawing.Size(108, 30); + this.layoutControlItem8.Name = "layoutControlItem8"; + this.layoutControlItem8.Size = new System.Drawing.Size(153, 36); + this.layoutControlItem8.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem8.TextVisible = false; + // + // layoutControlItem9 + // + this.layoutControlItem9.Control = this.ucFaultAlarm6; + this.layoutControlItem9.Location = new System.Drawing.Point(306, 36); + this.layoutControlItem9.MinSize = new System.Drawing.Size(108, 30); + this.layoutControlItem9.Name = "layoutControlItem9"; + this.layoutControlItem9.Size = new System.Drawing.Size(154, 36); + this.layoutControlItem9.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem9.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem9.TextVisible = false; + // + // layoutControlItem10 + // + this.layoutControlItem10.Control = this.ucFaultAlarm8; + this.layoutControlItem10.Location = new System.Drawing.Point(460, 36); + this.layoutControlItem10.MinSize = new System.Drawing.Size(108, 30); + this.layoutControlItem10.Name = "layoutControlItem10"; + this.layoutControlItem10.Size = new System.Drawing.Size(153, 36); + this.layoutControlItem10.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem10.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem10.TextVisible = false; + // + // layoutControlItem11 + // + this.layoutControlItem11.Control = this.ucFaultAlarm10; + this.layoutControlItem11.Location = new System.Drawing.Point(613, 36); + this.layoutControlItem11.MinSize = new System.Drawing.Size(108, 30); + this.layoutControlItem11.Name = "layoutControlItem11"; + this.layoutControlItem11.Size = new System.Drawing.Size(156, 36); + this.layoutControlItem11.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem11.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem11.TextVisible = false; + // + // layoutControlItem12 + // + this.layoutControlItem12.Control = this.ucFaultAlarm12; + this.layoutControlItem12.Location = new System.Drawing.Point(769, 36); + this.layoutControlItem12.MinSize = new System.Drawing.Size(108, 30); + this.layoutControlItem12.Name = "layoutControlItem12"; + this.layoutControlItem12.Size = new System.Drawing.Size(153, 36); + this.layoutControlItem12.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem12.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem12.TextVisible = false; + // + // layoutControlItem13 + // + this.layoutControlItem13.Control = this.ucFaultAlarm13; + this.layoutControlItem13.Location = new System.Drawing.Point(922, 0); + this.layoutControlItem13.Name = "layoutControlItem13"; + this.layoutControlItem13.Size = new System.Drawing.Size(156, 36); + this.layoutControlItem13.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem13.TextVisible = false; + // + // layoutControlItem14 + // + this.layoutControlItem14.Control = this.ucFaultAlarm14; + this.layoutControlItem14.Location = new System.Drawing.Point(922, 36); + this.layoutControlItem14.Name = "layoutControlItem14"; + this.layoutControlItem14.Size = new System.Drawing.Size(156, 36); + this.layoutControlItem14.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem14.TextVisible = false; + // + // UcFaultAlarmGroup + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.layoutControl1); + this.Name = "UcFaultAlarmGroup"; + this.Size = new System.Drawing.Size(1080, 95); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup Root; + private UcFaultAlarm ucFaultAlarm5; + private UcFaultAlarm ucFaultAlarm3; + private UcFaultAlarm ucFaultAlarm1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private UcFaultAlarm ucFaultAlarm7; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4; + private UcFaultAlarm ucFaultAlarm6; + private UcFaultAlarm ucFaultAlarm4; + private UcFaultAlarm ucFaultAlarm10; + private UcFaultAlarm ucFaultAlarm12; + private UcFaultAlarm ucFaultAlarm2; + private UcFaultAlarm ucFaultAlarm11; + private UcFaultAlarm ucFaultAlarm9; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem12; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem11; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9; + private UcFaultAlarm ucFaultAlarm8; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem10; + private UcFaultAlarm ucFaultAlarm14; + private UcFaultAlarm ucFaultAlarm13; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem13; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem14; + } +} diff --git a/LFP_Manager/Controls/UcFaultAlarmGroup.cs b/LFP_Manager/Controls/UcFaultAlarmGroup.cs new file mode 100644 index 0000000..e1fa1fb --- /dev/null +++ b/LFP_Manager/Controls/UcFaultAlarmGroup.cs @@ -0,0 +1,442 @@ +using DevExpress.XtraEditors; +using LFP_Manager.DataStructure; +using LFP_Manager.Utils; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace LFP_Manager.Controls +{ + public partial class UcFaultAlarmGroup : DevExpress.XtraEditors.XtraUserControl + { + #region CONSTANTS + private const int FAULT_ALARM_COUNT = 14; + + private enum eAlarmComp + { + MODULE_OV = 0, + CELL_OV = 1, + MODULE_UV = 2, + CELL_UV = 3, + CHG_OC = 4, + DCH_OC = 5, + CHG_OT = 6, + CHG_UT = 7, + DCH_OT = 8, + DCH_UT = 9, + LOW_SOC = 10, + MOS_OT = 11, + SC = 12, + CB_OFF = 13, + } + #endregion + + #region VARIABLES + private CommConfig Config; + + private UcFaultAlarm[] FaultAlarm; + #endregion + + #region CONSTRUCTORS + public UcFaultAlarmGroup() + { + InitializeComponent(); + + CreateAlarmComponent(); + } + #endregion + + #region COMPONENTS + + private void CreateAlarmComponent() + { + FaultAlarm = new UcFaultAlarm[FAULT_ALARM_COUNT]; + + void Bind(eAlarmComp comp, UcFaultAlarm control, int displayNo, string title) + { + FaultAlarm[(int)comp] = control; + FaultAlarm[(int)comp].SetFaultName(displayNo, title); + } + + Bind(eAlarmComp.MODULE_OV , ucFaultAlarm1 , 1, "Module OV"); + Bind(eAlarmComp.CELL_OV , ucFaultAlarm3 , 3, "Cell OV"); + Bind(eAlarmComp.MODULE_UV , ucFaultAlarm2 , 2, "Module UV"); + Bind(eAlarmComp.CELL_UV , ucFaultAlarm4 , 4, "Cell UV"); + Bind(eAlarmComp.CHG_OC , ucFaultAlarm5 , 5, "Chg OC"); + Bind(eAlarmComp.DCH_OC , ucFaultAlarm6 , 6, "Dch OC"); + Bind(eAlarmComp.CHG_OT , ucFaultAlarm7 , 7, "Chg OT"); + Bind(eAlarmComp.CHG_UT , ucFaultAlarm8 , 8, "Chg UT"); + Bind(eAlarmComp.DCH_OT , ucFaultAlarm9 , 9, "Dch OT"); + Bind(eAlarmComp.DCH_UT , ucFaultAlarm10, 10, "Dch UT"); + Bind(eAlarmComp.LOW_SOC , ucFaultAlarm11, 11, "Low SOC"); + Bind(eAlarmComp.MOS_OT , ucFaultAlarm12, 12, "Mos OT"); + Bind(eAlarmComp.SC , ucFaultAlarm13, 13, "S-C"); + Bind(eAlarmComp.CB_OFF , ucFaultAlarm14, 14, "CB Off"); + } + #endregion + + #region PUBLIC METHODS + public void SetData(CommConfig aConfig, CsDeviceData.DeviceModuleData rModuleData) + { + DisplayAlarm(rModuleData); + //switch (aConfig.CommType) + //{ + // case csConstData.CommType.COMM_UART: + // DisplayAlarmDeltaIndUart(rModuleData); + // break; + // case csConstData.CommType.COMM_RS485: + // DisplayAlarmDeltaInd485(rModuleData); + // break; + // case csConstData.CommType.COMM_SNMP: + // DisplayAlarmSnmp(rModuleData); + // break; + // default: + // break; + //} + } + #endregion + + #region DISPLAY FUNCTION + + private void DisplayAlarm(CsDeviceData.DeviceModuleData rModuleData) + { + bool[] aProtect = csUtils.UInt16ToBitArray(rModuleData.StatusData.protect); + bool[] aWarning = csUtils.UInt16ToBitArray(rModuleData.StatusData.warning); + + // 공통 헬퍼: protect 비트가 우선, 없으면 warning, 둘 다 없으면 정상 + void SetByBits(eAlarmComp comp, int? protectBit, int? warningBit) + { + int idx = (int)comp; + if (protectBit.HasValue && aProtect[protectBit.Value]) { FaultAlarm[idx].SetFault(1); return; } + if (warningBit.HasValue && aWarning[warningBit.Value]) { FaultAlarm[idx].SetFault(2); return; } + FaultAlarm[idx].SetFault(3); + } + + // 1) OV/UV/OC (양쪽에 동일 인덱스 존재) + SetByBits(eAlarmComp.MODULE_OV, (int)CsAlarmDefine.eGuiProtectBit.PACK_OV, (int)CsAlarmDefine.eGuiWarningBit.PACK_OV); + SetByBits(eAlarmComp.CELL_OV , (int)CsAlarmDefine.eGuiProtectBit.CELL_OV, (int)CsAlarmDefine.eGuiWarningBit.CELL_OV); + SetByBits(eAlarmComp.MODULE_UV, (int)CsAlarmDefine.eGuiProtectBit.PACK_UV, (int)CsAlarmDefine.eGuiWarningBit.PACK_UV); + SetByBits(eAlarmComp.CELL_UV , (int)CsAlarmDefine.eGuiProtectBit.CELL_UV, (int)CsAlarmDefine.eGuiWarningBit.CELL_UV); + SetByBits(eAlarmComp.CHG_OC , (int)CsAlarmDefine.eGuiProtectBit.CHG_OC , (int)CsAlarmDefine.eGuiWarningBit.CHG_OC ); + SetByBits(eAlarmComp.DCH_OC , (int)CsAlarmDefine.eGuiProtectBit.DCH_OC , (int)CsAlarmDefine.eGuiWarningBit.DCH_OC ); + + // 2) 온도류 + SetByBits(eAlarmComp.CHG_OT , (int)CsAlarmDefine.eGuiProtectBit.CHG_OT , (int)CsAlarmDefine.eGuiWarningBit.CHG_OT ); + SetByBits(eAlarmComp.CHG_UT , (int)CsAlarmDefine.eGuiProtectBit.CHG_UT , (int)CsAlarmDefine.eGuiWarningBit.CHG_UT ); + SetByBits(eAlarmComp.DCH_OT , (int)CsAlarmDefine.eGuiProtectBit.DCH_OT , (int)CsAlarmDefine.eGuiWarningBit.DCH_OT ); + SetByBits(eAlarmComp.DCH_UT , (int)CsAlarmDefine.eGuiProtectBit.DCH_UT , (int)CsAlarmDefine.eGuiWarningBit.DCH_UT ); + + // 3) Low SOC : 경고 전용 + SetByBits(eAlarmComp.LOW_SOC , null , (int)CsAlarmDefine.eGuiWarningBit.LOW_SOC); + + // 4) MOS OT : 보호/경고 모두 사용 + SetByBits(eAlarmComp.MOS_OT , (int)CsAlarmDefine.eGuiProtectBit.MOS_OT, (int)CsAlarmDefine.eGuiWarningBit.MOS_OT); + + // 5) SC(단락) : 보호 전용 + SetByBits(eAlarmComp.SC , (int)CsAlarmDefine.eGuiProtectBit.SC , null); + + // 6) DIFF_VOLT : 경고 전용 + SetByBits(eAlarmComp.CB_OFF , null , (int)CsAlarmDefine.eGuiWarningBit.CB_OFF); + } + + private void DisplayAlarmDeltaIndUart(CsDeviceData.DeviceModuleData rModuleData) + { + bool[] aProtect = csUtils.UInt16ToBitArray(rModuleData.StatusData.protect); + bool[] aWarning = csUtils.UInt16ToBitArray(rModuleData.StatusData.warning); + bool[] error = csUtils.UInt16ToBitArray(rModuleData.StatusData.errorCode); + + for (int i = 0; i < 6; i++) + { + if (aProtect[i] == true) { FaultAlarm[i].SetFault(1); } + else if (aWarning[i] == true) { FaultAlarm[i].SetFault(2); } + else { FaultAlarm[i].SetFault(3); } + } + + // Charge over temperature warning / protect + int aComp = 6; + int alarmID = (int)CsAlarmDefine.eGuiWarningBit.CHG_OT; + if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); } + else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); } + else { FaultAlarm[aComp].SetFault(3); } + + // Charge under temperature warning / protect + aComp = 7; + alarmID = (int)CsAlarmDefine.eGuiWarningBit.CHG_UT; + if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); } + else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); } + else { FaultAlarm[aComp].SetFault(3); } + + // Discharge over temperature warning / protect + aComp = 8; + alarmID = (int)CsAlarmDefine.eGuiWarningBit.DCH_OT; + if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); } + else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); } + else { FaultAlarm[aComp].SetFault(3); } + + // Discharge under temperature warning / protect + aComp = 9; + alarmID = (int)CsAlarmDefine.eGuiWarningBit.DCH_UT; + if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); } + else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); } + else { FaultAlarm[aComp].SetFault(3); } + + // Low SOC + // Discharge under temperature warning / protect + aComp = 10; + alarmID = (int)CsAlarmDefine.eGuiWarningBit.LOW_SOC; + if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); } + else { FaultAlarm[aComp].SetFault(3); } + + // MOS Over Temperature Alarm + aComp = 11; + alarmID = (int)CsAlarmDefine.eGuiWarningBit.MOS_OT; + if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); } + else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); } + else { FaultAlarm[aComp].SetFault(3); } + + // Short Circuit Protect + aComp = 12; + alarmID = (int)CsAlarmDefine.eGuiProtectBit.SC; + if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); } + else { FaultAlarm[aComp].SetFault(3); } + + // DIFF Cell Voltage Alarm + aComp = 12; + alarmID = (int)CsAlarmDefine.eGuiWarningBit.DIFF_VOLT; + if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); } + else { FaultAlarm[aComp].SetFault(3); } + } + private void DisplayAlarmDeltaInd485(CsDeviceData.DeviceModuleData rModuleData) + { + bool[] aProtect = csUtils.UInt16ToBitArray(rModuleData.StatusData.protect); + bool[] aWarning = csUtils.UInt16ToBitArray(rModuleData.StatusData.warning); + bool[] error = csUtils.UInt16ToBitArray(rModuleData.StatusData.errorCode); + + for (int i = 0; i < 6; i++) + { + if (aProtect[i] == true) { FaultAlarm[i].SetFault(1); } + else if (aWarning[i] == true) { FaultAlarm[i].SetFault(2); } + else { FaultAlarm[i].SetFault(3); } + } + + // Charge over temperature warning / protect + int aComp = 6; + int alarmID = 8; + if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); } + else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); } + else { FaultAlarm[aComp].SetFault(3); } + + // Discharge over temperature warning / protect + aComp = 8; + alarmID = 9; + if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); } + else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); } + else { FaultAlarm[aComp].SetFault(3); } + + // Charge under temperature warning / protect + aComp = 7; + alarmID = 10; + if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); } + else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); } + else { FaultAlarm[aComp].SetFault(3); } + + // Discharge under temperature warning / protect + aComp = 9; + alarmID = 11; + if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); } + else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); } + else { FaultAlarm[aComp].SetFault(3); } + + // Low SOC / SOH + if (aWarning[12] == true) + { + // Low SOC + FaultAlarm[10].SetFaultName(11, "Low SOC"); + FaultAlarm[10].SetFault(2); + } + else if (aWarning[13] == true) + { + // Low SOH + FaultAlarm[10].SetFaultName(11, "Low SOH"); + FaultAlarm[10].SetFault(2); + } + else + { + FaultAlarm[10].SetFaultName(11, "SOC/SOH"); + FaultAlarm[10].SetFault(3); + } + + // MOS Over Temperature Alarm + aComp = 11; + alarmID = 7; + if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); } + else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); } + else { FaultAlarm[aComp].SetFault(3); } + + // Cell ETC. Alarm + if (aProtect[13] == true) + { + // Short Circuit Protect + FaultAlarm[12].SetFaultName(13, "Short Circuit"); + FaultAlarm[12].SetFault(1); + } + else if (aWarning[14] == true) + { + FaultAlarm[12].SetFaultName(13, "MD ISO"); + FaultAlarm[12].SetFault(2); + } + else + { + FaultAlarm[12].SetFaultName(13, "ETC. Alarm"); + FaultAlarm[12].SetFault(3); + } + + // Error Code + if (error[0] == true) + { + FaultAlarm[13].SetFaultName(14, "Volt Error"); + FaultAlarm[13].SetFault(1); + } + else if (error[1] == true) + { + FaultAlarm[13].SetFaultName(14, "Temp Error"); + FaultAlarm[13].SetFault(1); + } + else if (error[4] == true) + { + FaultAlarm[13].SetFaultName(14, "Unbalance"); + FaultAlarm[13].SetFault(1); + } + else if (error[5] == true) + { + FaultAlarm[13].SetFaultName(14, "Emergency"); + FaultAlarm[13].SetFault(1); + } + else + { + FaultAlarm[13].SetFaultName(14, "Error Code"); + FaultAlarm[13].SetFault(3); + } + } + + private void DisplayAlarmSnmp(CsDeviceData.DeviceModuleData rModuleData) + { + bool[] aProtect = csUtils.UInt16ToBitArray(rModuleData.StatusData.protect); + bool[] aWarning = csUtils.UInt16ToBitArray(rModuleData.StatusData.warning); + bool[] error = csUtils.UInt16ToBitArray(rModuleData.StatusData.errorCode); + + for (int i = 0; i < 6; i++) + { + if (aProtect[i] == true) { FaultAlarm[i].SetFault(1); } + else if (aWarning[i] == true) { FaultAlarm[i].SetFault(2); } + else { FaultAlarm[i].SetFault(3); } + } + + // Charge over temperature warning / protect + int aComp = 6; + int alarmID = 8; + if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); } + else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); } + else { FaultAlarm[aComp].SetFault(3); } + + // Charge under temperature warning / protect + aComp = 7; + alarmID = 10; + if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); } + else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); } + else { FaultAlarm[aComp].SetFault(3); } + + // Discharge over temperature warning / protect + aComp = 8; + alarmID = 9; + if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); } + else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); } + else { FaultAlarm[aComp].SetFault(3); } + + // Discharge under temperature warning / protect + aComp = 9; + alarmID = 11; + if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); } + else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); } + else { FaultAlarm[aComp].SetFault(3); } + + // Low SOC / SOH + if (aWarning[12] == true) + { + // Low SOC + FaultAlarm[10].SetFaultName(11, "Low SOC"); + FaultAlarm[10].SetFault(2); + } + else if (aWarning[13] == true) + { + // Low SOH + FaultAlarm[10].SetFaultName(11, "Low SOH"); + FaultAlarm[10].SetFault(2); + } + else + { + FaultAlarm[10].SetFaultName(11, "SOC/SOH"); + FaultAlarm[10].SetFault(3); + } + + // MOS Over Temperature Alarm + aComp = 11; + alarmID = 7; + if (aProtect[alarmID] == true) { FaultAlarm[aComp].SetFault(1); } + else if (aWarning[alarmID] == true) { FaultAlarm[aComp].SetFault(2); } + else { FaultAlarm[aComp].SetFault(3); } + + // Cell ETC. Alarm + if (aProtect[13] == true) + { + // Short Circuit Protect + FaultAlarm[12].SetFaultName(13, "Short Circuit"); + FaultAlarm[12].SetFault(1); + } + else if (aWarning[14] == true) + { + FaultAlarm[12].SetFaultName(13, "MD ISO"); + FaultAlarm[12].SetFault(2); + } + else + { + FaultAlarm[12].SetFaultName(13, "ETC. Alarm"); + FaultAlarm[12].SetFault(3); + } + + // Error Code + if (error[0] == true) + { + FaultAlarm[13].SetFaultName(14, "Volt Error"); + FaultAlarm[13].SetFault(1); + } + else if (error[1] == true) + { + FaultAlarm[13].SetFaultName(14, "Temp Error"); + FaultAlarm[13].SetFault(1); + } + else if (error[4] == true) + { + FaultAlarm[13].SetFaultName(14, "Unbalance"); + FaultAlarm[13].SetFault(1); + } + else if (error[5] == true) + { + FaultAlarm[13].SetFaultName(14, "Emergency"); + FaultAlarm[13].SetFault(1); + } + else + { + FaultAlarm[13].SetFaultName(14, "Error Code"); + FaultAlarm[13].SetFault(3); + } + } + #endregion + } +} diff --git a/LFP_Manager/Controls/UcFaultAlarmGroup.resx b/LFP_Manager/Controls/UcFaultAlarmGroup.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/LFP_Manager/Controls/UcFaultAlarmGroup.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/LFP_Manager/Controls/ucCalibration.Designer.cs b/LFP_Manager/Controls/ucCalibration.Designer.cs new file mode 100644 index 0000000..fa2bd9b --- /dev/null +++ b/LFP_Manager/Controls/ucCalibration.Designer.cs @@ -0,0 +1,1210 @@ +namespace LFP_Manager.Controls +{ + partial class ucCalibration + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.TeCommTimeoutNew = new DevExpress.XtraEditors.TextEdit(); + this.BtnRS485TimeoutSet = new DevExpress.XtraEditors.SimpleButton(); + this.TeCommTimeout = new DevExpress.XtraEditors.TextEdit(); + this.BtnAntiTheftEnable = new DevExpress.XtraEditors.SimpleButton(); + this.BtnClearAntiTheftProtect = new DevExpress.XtraEditors.SimpleButton(); + this.BtnAntiTheftDisable = new DevExpress.XtraEditors.SimpleButton(); + this.gbBmsDateTime = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl3 = new DevExpress.XtraLayout.LayoutControl(); + this.BtnGetCurrTime = new DevExpress.XtraEditors.SimpleButton(); + this.BtnBmsDateTimeSet = new DevExpress.XtraEditors.SimpleButton(); + this.TeCurrDateTime = new DevExpress.XtraEditors.TextEdit(); + this.TeNewDateTime = new DevExpress.XtraEditors.TextEdit(); + this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem3 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.emptySpaceItem4 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlItem11 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem(); + this.gbChaModeControl = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl2 = new DevExpress.XtraLayout.LayoutControl(); + this.TeChgModeValueNew = new DevExpress.XtraEditors.TextEdit(); + this.TeChgModeValueCurr = new DevExpress.XtraEditors.TextEdit(); + this.CbNewChaMode = new DevExpress.XtraEditors.ComboBoxEdit(); + this.BtnChaModeSet = new DevExpress.XtraEditors.SimpleButton(); + this.TeChaMode = new DevExpress.XtraEditors.TextEdit(); + this.Root = new DevExpress.XtraLayout.LayoutControlGroup(); + this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlItem13 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem(); + this.simpleLabelItem3 = new DevExpress.XtraLayout.SimpleLabelItem(); + this.layoutControlItem14 = new DevExpress.XtraLayout.LayoutControlItem(); + this.gbCapacityControl = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl7 = new DevExpress.XtraLayout.LayoutControl(); + this.teNewSoc = new DevExpress.XtraEditors.TextEdit(); + this.teCurrSoc = new DevExpress.XtraEditors.TextEdit(); + this.teNewCapacity = new DevExpress.XtraEditors.TextEdit(); + this.btnCapacitySet = new DevExpress.XtraEditors.SimpleButton(); + this.teCurrCapacity = new DevExpress.XtraEditors.TextEdit(); + this.layoutControlGroup7 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.lcitemDesignCapacity = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem12 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.emptySpaceItem13 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlItem25 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.simpleLabelItem1 = new DevExpress.XtraLayout.SimpleLabelItem(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + this.simpleLabelItem2 = new DevExpress.XtraLayout.SimpleLabelItem(); + this.TeAntiTheftGyroCurr = new DevExpress.XtraEditors.TextEdit(); + this.TeSensitive = new DevExpress.XtraEditors.TextEdit(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem19 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.emptySpaceItem6 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlItem17 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem21 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem20 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem15 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem23 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlGroup4 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem18 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem7 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlItem16 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem22 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem8 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.emptySpaceItem5 = new DevExpress.XtraLayout.EmptySpaceItem(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.TeCommTimeoutNew.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeCommTimeout.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbBmsDateTime)).BeginInit(); + this.gbBmsDateTime.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).BeginInit(); + this.layoutControl3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.TeCurrDateTime.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeNewDateTime.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbChaModeControl)).BeginInit(); + this.gbChaModeControl.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).BeginInit(); + this.layoutControl2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.TeChgModeValueNew.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeChgModeValueCurr.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.CbNewChaMode.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeChaMode.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbCapacityControl)).BeginInit(); + this.gbCapacityControl.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl7)).BeginInit(); + this.layoutControl7.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.teNewSoc.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.teCurrSoc.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.teNewCapacity.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.teCurrCapacity.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup7)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemDesignCapacity)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem12)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem13)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem25)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeAntiTheftGyroCurr.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeSensitive.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem19)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem17)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem21)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem20)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem15)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem23)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem18)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem7)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem16)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem22)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem8)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem5)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.TeCommTimeoutNew); + this.layoutControl1.Controls.Add(this.BtnRS485TimeoutSet); + this.layoutControl1.Controls.Add(this.TeCommTimeout); + this.layoutControl1.Controls.Add(this.BtnAntiTheftEnable); + this.layoutControl1.Controls.Add(this.BtnClearAntiTheftProtect); + this.layoutControl1.Controls.Add(this.BtnAntiTheftDisable); + this.layoutControl1.Controls.Add(this.gbBmsDateTime); + this.layoutControl1.Controls.Add(this.gbChaModeControl); + this.layoutControl1.Controls.Add(this.gbCapacityControl); + this.layoutControl1.Controls.Add(this.TeAntiTheftGyroCurr); + this.layoutControl1.Controls.Add(this.TeSensitive); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(881, 251, 815, 497); + this.layoutControl1.Root = this.layoutControlGroup1; + this.layoutControl1.Size = new System.Drawing.Size(838, 406); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // TeCommTimeoutNew + // + this.TeCommTimeoutNew.Location = new System.Drawing.Point(472, 237); + this.TeCommTimeoutNew.Name = "TeCommTimeoutNew"; + this.TeCommTimeoutNew.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeCommTimeoutNew.Properties.Appearance.Options.UseFont = true; + this.TeCommTimeoutNew.Properties.Appearance.Options.UseTextOptions = true; + this.TeCommTimeoutNew.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.TeCommTimeoutNew.Size = new System.Drawing.Size(80, 24); + this.TeCommTimeoutNew.StyleController = this.layoutControl1; + this.TeCommTimeoutNew.TabIndex = 20; + // + // BtnRS485TimeoutSet + // + this.BtnRS485TimeoutSet.Location = new System.Drawing.Point(480, 370); + this.BtnRS485TimeoutSet.Name = "BtnRS485TimeoutSet"; + this.BtnRS485TimeoutSet.Size = new System.Drawing.Size(72, 30); + this.BtnRS485TimeoutSet.StyleController = this.layoutControl1; + this.BtnRS485TimeoutSet.TabIndex = 19; + this.BtnRS485TimeoutSet.Text = "Set"; + this.BtnRS485TimeoutSet.Click += new System.EventHandler(this.BtnRS485TimeoutSet_Click); + // + // TeCommTimeout + // + this.TeCommTimeout.Location = new System.Drawing.Point(397, 237); + this.TeCommTimeout.Name = "TeCommTimeout"; + this.TeCommTimeout.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeCommTimeout.Properties.Appearance.Options.UseFont = true; + this.TeCommTimeout.Properties.Appearance.Options.UseTextOptions = true; + this.TeCommTimeout.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.TeCommTimeout.Properties.ReadOnly = true; + this.TeCommTimeout.Size = new System.Drawing.Size(71, 24); + this.TeCommTimeout.StyleController = this.layoutControl1; + this.TeCommTimeout.TabIndex = 18; + // + // BtnAntiTheftEnable + // + this.BtnAntiTheftEnable.Location = new System.Drawing.Point(109, 370); + this.BtnAntiTheftEnable.Name = "BtnAntiTheftEnable"; + this.BtnAntiTheftEnable.Size = new System.Drawing.Size(85, 30); + this.BtnAntiTheftEnable.StyleController = this.layoutControl1; + this.BtnAntiTheftEnable.TabIndex = 17; + this.BtnAntiTheftEnable.Text = "Enable"; + this.BtnAntiTheftEnable.Click += new System.EventHandler(this.BtnAntiTheftEnable_Click); + // + // BtnClearAntiTheftProtect + // + this.BtnClearAntiTheftProtect.Location = new System.Drawing.Point(6, 370); + this.BtnClearAntiTheftProtect.Name = "BtnClearAntiTheftProtect"; + this.BtnClearAntiTheftProtect.Size = new System.Drawing.Size(99, 30); + this.BtnClearAntiTheftProtect.StyleController = this.layoutControl1; + this.BtnClearAntiTheftProtect.TabIndex = 16; + this.BtnClearAntiTheftProtect.Text = "Clear Protect"; + this.BtnClearAntiTheftProtect.Click += new System.EventHandler(this.BtnClearAntiTheftProtect_Click); + // + // BtnAntiTheftDisable + // + this.BtnAntiTheftDisable.Location = new System.Drawing.Point(198, 370); + this.BtnAntiTheftDisable.Name = "BtnAntiTheftDisable"; + this.BtnAntiTheftDisable.Size = new System.Drawing.Size(82, 30); + this.BtnAntiTheftDisable.StyleController = this.layoutControl1; + this.BtnAntiTheftDisable.TabIndex = 15; + this.BtnAntiTheftDisable.Text = "Disable"; + this.BtnAntiTheftDisable.Click += new System.EventHandler(this.BtnAntiTheftDisable_Click); + // + // gbBmsDateTime + // + this.gbBmsDateTime.Controls.Add(this.layoutControl3); + this.gbBmsDateTime.Location = new System.Drawing.Point(560, 2); + this.gbBmsDateTime.Name = "gbBmsDateTime"; + this.gbBmsDateTime.Size = new System.Drawing.Size(276, 206); + this.gbBmsDateTime.TabIndex = 12; + this.gbBmsDateTime.Text = "BMS DateTime"; + // + // layoutControl3 + // + this.layoutControl3.Controls.Add(this.BtnGetCurrTime); + this.layoutControl3.Controls.Add(this.BtnBmsDateTimeSet); + this.layoutControl3.Controls.Add(this.TeCurrDateTime); + this.layoutControl3.Controls.Add(this.TeNewDateTime); + this.layoutControl3.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl3.Location = new System.Drawing.Point(2, 23); + this.layoutControl3.Name = "layoutControl3"; + this.layoutControl3.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1137, 0, 650, 400); + this.layoutControl3.Root = this.layoutControlGroup2; + this.layoutControl3.Size = new System.Drawing.Size(272, 181); + this.layoutControl3.TabIndex = 0; + this.layoutControl3.Text = "layoutControl3"; + // + // BtnGetCurrTime + // + this.BtnGetCurrTime.Location = new System.Drawing.Point(107, 148); + this.BtnGetCurrTime.Name = "BtnGetCurrTime"; + this.BtnGetCurrTime.Size = new System.Drawing.Size(90, 30); + this.BtnGetCurrTime.StyleController = this.layoutControl3; + this.BtnGetCurrTime.TabIndex = 14; + this.BtnGetCurrTime.Text = "Get RealTime"; + this.BtnGetCurrTime.Click += new System.EventHandler(this.BtnGetCurrTime_Click); + // + // BtnBmsDateTimeSet + // + this.BtnBmsDateTimeSet.Location = new System.Drawing.Point(201, 148); + this.BtnBmsDateTimeSet.Name = "BtnBmsDateTimeSet"; + this.BtnBmsDateTimeSet.Size = new System.Drawing.Size(68, 30); + this.BtnBmsDateTimeSet.StyleController = this.layoutControl3; + this.BtnBmsDateTimeSet.TabIndex = 13; + this.BtnBmsDateTimeSet.Text = "Set"; + this.BtnBmsDateTimeSet.Click += new System.EventHandler(this.BtnBmsDateTimeSet_Click); + // + // TeCurrDateTime + // + this.TeCurrDateTime.Location = new System.Drawing.Point(60, 3); + this.TeCurrDateTime.Name = "TeCurrDateTime"; + this.TeCurrDateTime.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeCurrDateTime.Properties.Appearance.Options.UseFont = true; + this.TeCurrDateTime.Properties.Appearance.Options.UseTextOptions = true; + this.TeCurrDateTime.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.TeCurrDateTime.Properties.ReadOnly = true; + this.TeCurrDateTime.Size = new System.Drawing.Size(209, 24); + this.TeCurrDateTime.StyleController = this.layoutControl3; + this.TeCurrDateTime.TabIndex = 10; + // + // TeNewDateTime + // + this.TeNewDateTime.Location = new System.Drawing.Point(60, 31); + this.TeNewDateTime.Name = "TeNewDateTime"; + this.TeNewDateTime.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeNewDateTime.Properties.Appearance.Options.UseFont = true; + this.TeNewDateTime.Properties.Appearance.Options.UseTextOptions = true; + this.TeNewDateTime.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.TeNewDateTime.Size = new System.Drawing.Size(209, 24); + this.TeNewDateTime.StyleController = this.layoutControl3; + this.TeNewDateTime.TabIndex = 10; + // + // layoutControlGroup2 + // + this.layoutControlGroup2.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup2.GroupBordersVisible = false; + this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem9, + this.layoutControlItem10, + this.emptySpaceItem3, + this.emptySpaceItem4, + this.layoutControlItem11, + this.layoutControlItem12}); + this.layoutControlGroup2.Name = "Root"; + this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup2.Size = new System.Drawing.Size(272, 181); + this.layoutControlGroup2.TextVisible = false; + // + // layoutControlItem9 + // + this.layoutControlItem9.Control = this.TeCurrDateTime; + this.layoutControlItem9.ControlAlignment = System.Drawing.ContentAlignment.TopLeft; + this.layoutControlItem9.CustomizationFormText = "Curr DateTime"; + this.layoutControlItem9.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem9.Name = "layoutControlItem9"; + this.layoutControlItem9.Size = new System.Drawing.Size(270, 28); + this.layoutControlItem9.Text = " Current"; + this.layoutControlItem9.TextSize = new System.Drawing.Size(45, 14); + // + // layoutControlItem10 + // + this.layoutControlItem10.Control = this.TeNewDateTime; + this.layoutControlItem10.ControlAlignment = System.Drawing.ContentAlignment.TopLeft; + this.layoutControlItem10.CustomizationFormText = "New DateTime"; + this.layoutControlItem10.Location = new System.Drawing.Point(0, 28); + this.layoutControlItem10.Name = "layoutControlItem10"; + this.layoutControlItem10.Size = new System.Drawing.Size(270, 28); + this.layoutControlItem10.Text = " New"; + this.layoutControlItem10.TextSize = new System.Drawing.Size(45, 14); + // + // emptySpaceItem3 + // + this.emptySpaceItem3.AllowHotTrack = false; + this.emptySpaceItem3.Location = new System.Drawing.Point(0, 56); + this.emptySpaceItem3.MinSize = new System.Drawing.Size(104, 24); + this.emptySpaceItem3.Name = "emptySpaceItem3"; + this.emptySpaceItem3.Size = new System.Drawing.Size(270, 89); + this.emptySpaceItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.emptySpaceItem3.TextSize = new System.Drawing.Size(0, 0); + // + // emptySpaceItem4 + // + this.emptySpaceItem4.AllowHotTrack = false; + this.emptySpaceItem4.Location = new System.Drawing.Point(0, 145); + this.emptySpaceItem4.MinSize = new System.Drawing.Size(104, 34); + this.emptySpaceItem4.Name = "emptySpaceItem4"; + this.emptySpaceItem4.Size = new System.Drawing.Size(104, 34); + this.emptySpaceItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.emptySpaceItem4.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlItem11 + // + this.layoutControlItem11.Control = this.BtnBmsDateTimeSet; + this.layoutControlItem11.Location = new System.Drawing.Point(198, 145); + this.layoutControlItem11.MinSize = new System.Drawing.Size(30, 26); + this.layoutControlItem11.Name = "layoutControlItem11"; + this.layoutControlItem11.Size = new System.Drawing.Size(72, 34); + this.layoutControlItem11.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem11.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem11.TextVisible = false; + // + // layoutControlItem12 + // + this.layoutControlItem12.Control = this.BtnGetCurrTime; + this.layoutControlItem12.Location = new System.Drawing.Point(104, 145); + this.layoutControlItem12.MinSize = new System.Drawing.Size(89, 26); + this.layoutControlItem12.Name = "layoutControlItem12"; + this.layoutControlItem12.Size = new System.Drawing.Size(94, 34); + this.layoutControlItem12.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem12.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem12.TextVisible = false; + // + // gbChaModeControl + // + this.gbChaModeControl.Controls.Add(this.layoutControl2); + this.gbChaModeControl.Location = new System.Drawing.Point(288, 2); + this.gbChaModeControl.Name = "gbChaModeControl"; + this.gbChaModeControl.Size = new System.Drawing.Size(268, 206); + this.gbChaModeControl.TabIndex = 11; + this.gbChaModeControl.Text = "Charge Mode"; + // + // layoutControl2 + // + this.layoutControl2.Controls.Add(this.TeChgModeValueNew); + this.layoutControl2.Controls.Add(this.TeChgModeValueCurr); + this.layoutControl2.Controls.Add(this.CbNewChaMode); + this.layoutControl2.Controls.Add(this.BtnChaModeSet); + this.layoutControl2.Controls.Add(this.TeChaMode); + this.layoutControl2.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl2.Location = new System.Drawing.Point(2, 23); + this.layoutControl2.Name = "layoutControl2"; + this.layoutControl2.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(915, 0, 650, 400); + this.layoutControl2.Root = this.Root; + this.layoutControl2.Size = new System.Drawing.Size(264, 181); + this.layoutControl2.TabIndex = 0; + this.layoutControl2.Text = "`"; + // + // TeChgModeValueNew + // + this.TeChgModeValueNew.Location = new System.Drawing.Point(157, 59); + this.TeChgModeValueNew.Name = "TeChgModeValueNew"; + this.TeChgModeValueNew.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeChgModeValueNew.Properties.Appearance.Options.UseFont = true; + this.TeChgModeValueNew.Properties.Appearance.Options.UseTextOptions = true; + this.TeChgModeValueNew.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.TeChgModeValueNew.Size = new System.Drawing.Size(74, 24); + this.TeChgModeValueNew.StyleController = this.layoutControl2; + this.TeChgModeValueNew.TabIndex = 15; + // + // TeChgModeValueCurr + // + this.TeChgModeValueCurr.Location = new System.Drawing.Point(81, 59); + this.TeChgModeValueCurr.Name = "TeChgModeValueCurr"; + this.TeChgModeValueCurr.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeChgModeValueCurr.Properties.Appearance.Options.UseFont = true; + this.TeChgModeValueCurr.Properties.Appearance.Options.UseTextOptions = true; + this.TeChgModeValueCurr.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.TeChgModeValueCurr.Properties.ReadOnly = true; + this.TeChgModeValueCurr.Size = new System.Drawing.Size(72, 24); + this.TeChgModeValueCurr.StyleController = this.layoutControl2; + this.TeChgModeValueCurr.TabIndex = 14; + // + // CbNewChaMode + // + this.CbNewChaMode.Location = new System.Drawing.Point(81, 31); + this.CbNewChaMode.Name = "CbNewChaMode"; + this.CbNewChaMode.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.CbNewChaMode.Properties.Appearance.Options.UseFont = true; + this.CbNewChaMode.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { + new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}); + this.CbNewChaMode.Size = new System.Drawing.Size(180, 24); + this.CbNewChaMode.StyleController = this.layoutControl2; + this.CbNewChaMode.TabIndex = 13; + this.CbNewChaMode.SelectedIndexChanged += new System.EventHandler(this.CbNewChaMode_SelectedIndexChanged); + // + // BtnChaModeSet + // + this.BtnChaModeSet.Location = new System.Drawing.Point(191, 148); + this.BtnChaModeSet.Name = "BtnChaModeSet"; + this.BtnChaModeSet.Size = new System.Drawing.Size(70, 30); + this.BtnChaModeSet.StyleController = this.layoutControl2; + this.BtnChaModeSet.TabIndex = 12; + this.BtnChaModeSet.Text = "Set"; + this.BtnChaModeSet.Click += new System.EventHandler(this.BtnChaModeSet_Click); + // + // TeChaMode + // + this.TeChaMode.Location = new System.Drawing.Point(81, 3); + this.TeChaMode.Name = "TeChaMode"; + this.TeChaMode.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeChaMode.Properties.Appearance.Options.UseFont = true; + this.TeChaMode.Properties.Appearance.Options.UseTextOptions = true; + this.TeChaMode.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near; + this.TeChaMode.Properties.ReadOnly = true; + this.TeChaMode.Size = new System.Drawing.Size(180, 24); + this.TeChaMode.StyleController = this.layoutControl2; + this.TeChaMode.TabIndex = 10; + // + // Root + // + this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.Root.GroupBordersVisible = false; + this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.emptySpaceItem1, + this.layoutControlItem6, + this.layoutControlItem7, + this.emptySpaceItem2, + this.layoutControlItem13, + this.layoutControlItem5, + this.simpleLabelItem3, + this.layoutControlItem14}); + this.Root.Name = "Root"; + this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.Root.Size = new System.Drawing.Size(264, 181); + this.Root.TextVisible = false; + // + // emptySpaceItem1 + // + this.emptySpaceItem1.AllowHotTrack = false; + this.emptySpaceItem1.Location = new System.Drawing.Point(0, 84); + this.emptySpaceItem1.Name = "emptySpaceItem1"; + this.emptySpaceItem1.Size = new System.Drawing.Size(262, 61); + this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlItem6 + // + this.layoutControlItem6.Control = this.TeChaMode; + this.layoutControlItem6.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem6.Name = "layoutControlItem6"; + this.layoutControlItem6.Size = new System.Drawing.Size(262, 28); + this.layoutControlItem6.Text = " Mode (Curr)"; + this.layoutControlItem6.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.layoutControlItem6.TextSize = new System.Drawing.Size(73, 14); + this.layoutControlItem6.TextToControlDistance = 5; + // + // layoutControlItem7 + // + this.layoutControlItem7.Control = this.BtnChaModeSet; + this.layoutControlItem7.Location = new System.Drawing.Point(188, 145); + this.layoutControlItem7.MinSize = new System.Drawing.Size(30, 26); + this.layoutControlItem7.Name = "layoutControlItem7"; + this.layoutControlItem7.Size = new System.Drawing.Size(74, 34); + this.layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem7.TextVisible = false; + // + // emptySpaceItem2 + // + this.emptySpaceItem2.AllowHotTrack = false; + this.emptySpaceItem2.Location = new System.Drawing.Point(0, 145); + this.emptySpaceItem2.MinSize = new System.Drawing.Size(104, 34); + this.emptySpaceItem2.Name = "emptySpaceItem2"; + this.emptySpaceItem2.Size = new System.Drawing.Size(188, 34); + this.emptySpaceItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlItem13 + // + this.layoutControlItem13.Control = this.CbNewChaMode; + this.layoutControlItem13.Location = new System.Drawing.Point(0, 28); + this.layoutControlItem13.Name = "layoutControlItem13"; + this.layoutControlItem13.Size = new System.Drawing.Size(262, 28); + this.layoutControlItem13.Text = " Mode (New)"; + this.layoutControlItem13.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.layoutControlItem13.TextSize = new System.Drawing.Size(73, 14); + this.layoutControlItem13.TextToControlDistance = 5; + // + // layoutControlItem5 + // + this.layoutControlItem5.Control = this.TeChgModeValueCurr; + this.layoutControlItem5.Location = new System.Drawing.Point(0, 56); + this.layoutControlItem5.Name = "layoutControlItem5"; + this.layoutControlItem5.Size = new System.Drawing.Size(154, 28); + this.layoutControlItem5.Text = " - Value"; + this.layoutControlItem5.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.layoutControlItem5.TextSize = new System.Drawing.Size(73, 20); + this.layoutControlItem5.TextToControlDistance = 5; + // + // simpleLabelItem3 + // + this.simpleLabelItem3.AllowHotTrack = false; + this.simpleLabelItem3.Location = new System.Drawing.Point(232, 56); + this.simpleLabelItem3.MaxSize = new System.Drawing.Size(30, 0); + this.simpleLabelItem3.MinSize = new System.Drawing.Size(30, 18); + this.simpleLabelItem3.Name = "simpleLabelItem3"; + this.simpleLabelItem3.Size = new System.Drawing.Size(30, 28); + this.simpleLabelItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.simpleLabelItem3.Text = " V"; + this.simpleLabelItem3.TextSize = new System.Drawing.Size(12, 14); + // + // layoutControlItem14 + // + this.layoutControlItem14.Control = this.TeChgModeValueNew; + this.layoutControlItem14.Location = new System.Drawing.Point(154, 56); + this.layoutControlItem14.Name = "layoutControlItem14"; + this.layoutControlItem14.Size = new System.Drawing.Size(78, 28); + this.layoutControlItem14.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem14.TextVisible = false; + // + // gbCapacityControl + // + this.gbCapacityControl.Controls.Add(this.layoutControl7); + this.gbCapacityControl.Location = new System.Drawing.Point(2, 2); + this.gbCapacityControl.Name = "gbCapacityControl"; + this.gbCapacityControl.Size = new System.Drawing.Size(282, 206); + this.gbCapacityControl.TabIndex = 10; + this.gbCapacityControl.Text = "Capacity Control"; + // + // layoutControl7 + // + this.layoutControl7.Controls.Add(this.teNewSoc); + this.layoutControl7.Controls.Add(this.teCurrSoc); + this.layoutControl7.Controls.Add(this.teNewCapacity); + this.layoutControl7.Controls.Add(this.btnCapacitySet); + this.layoutControl7.Controls.Add(this.teCurrCapacity); + this.layoutControl7.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl7.Location = new System.Drawing.Point(2, 23); + this.layoutControl7.Name = "layoutControl7"; + this.layoutControl7.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1050, 144, 609, 350); + this.layoutControl7.Root = this.layoutControlGroup7; + this.layoutControl7.Size = new System.Drawing.Size(278, 181); + this.layoutControl7.TabIndex = 0; + this.layoutControl7.Text = "layoutControl7"; + // + // teNewSoc + // + this.teNewSoc.Location = new System.Drawing.Point(158, 31); + this.teNewSoc.Name = "teNewSoc"; + this.teNewSoc.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.teNewSoc.Properties.Appearance.Options.UseFont = true; + this.teNewSoc.Properties.Appearance.Options.UseTextOptions = true; + this.teNewSoc.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.teNewSoc.Size = new System.Drawing.Size(79, 24); + this.teNewSoc.StyleController = this.layoutControl7; + this.teNewSoc.TabIndex = 11; + // + // teCurrSoc + // + this.teCurrSoc.Location = new System.Drawing.Point(88, 31); + this.teCurrSoc.Name = "teCurrSoc"; + this.teCurrSoc.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.teCurrSoc.Properties.Appearance.Options.UseFont = true; + this.teCurrSoc.Properties.Appearance.Options.UseTextOptions = true; + this.teCurrSoc.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.teCurrSoc.Properties.ReadOnly = true; + this.teCurrSoc.Size = new System.Drawing.Size(66, 24); + this.teCurrSoc.StyleController = this.layoutControl7; + this.teCurrSoc.TabIndex = 10; + // + // teNewCapacity + // + this.teNewCapacity.Location = new System.Drawing.Point(158, 3); + this.teNewCapacity.Name = "teNewCapacity"; + this.teNewCapacity.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.teNewCapacity.Properties.Appearance.Options.UseFont = true; + this.teNewCapacity.Properties.Appearance.Options.UseTextOptions = true; + this.teNewCapacity.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.teNewCapacity.Size = new System.Drawing.Size(79, 24); + this.teNewCapacity.StyleController = this.layoutControl7; + this.teNewCapacity.TabIndex = 9; + // + // btnCapacitySet + // + this.btnCapacitySet.Location = new System.Drawing.Point(198, 148); + this.btnCapacitySet.Name = "btnCapacitySet"; + this.btnCapacitySet.Size = new System.Drawing.Size(77, 30); + this.btnCapacitySet.StyleController = this.layoutControl7; + this.btnCapacitySet.TabIndex = 6; + this.btnCapacitySet.Text = "Set"; + this.btnCapacitySet.Click += new System.EventHandler(this.btnCapacitySet_Click); + // + // teCurrCapacity + // + this.teCurrCapacity.Location = new System.Drawing.Point(88, 3); + this.teCurrCapacity.Name = "teCurrCapacity"; + this.teCurrCapacity.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.teCurrCapacity.Properties.Appearance.Options.UseFont = true; + this.teCurrCapacity.Properties.Appearance.Options.UseTextOptions = true; + this.teCurrCapacity.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.teCurrCapacity.Properties.ReadOnly = true; + this.teCurrCapacity.Size = new System.Drawing.Size(66, 24); + this.teCurrCapacity.StyleController = this.layoutControl7; + this.teCurrCapacity.TabIndex = 4; + // + // layoutControlGroup7 + // + this.layoutControlGroup7.CustomizationFormText = "Root"; + this.layoutControlGroup7.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup7.GroupBordersVisible = false; + this.layoutControlGroup7.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.lcitemDesignCapacity, + this.emptySpaceItem12, + this.emptySpaceItem13, + this.layoutControlItem25, + this.layoutControlItem1, + this.simpleLabelItem1, + this.layoutControlItem2, + this.layoutControlItem3, + this.simpleLabelItem2}); + this.layoutControlGroup7.Name = "Root"; + this.layoutControlGroup7.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup7.Size = new System.Drawing.Size(278, 181); + this.layoutControlGroup7.TextVisible = false; + // + // lcitemDesignCapacity + // + this.lcitemDesignCapacity.AppearanceItemCaption.Options.UseTextOptions = true; + this.lcitemDesignCapacity.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near; + this.lcitemDesignCapacity.Control = this.teCurrCapacity; + this.lcitemDesignCapacity.CustomizationFormText = "Range"; + this.lcitemDesignCapacity.Location = new System.Drawing.Point(0, 0); + this.lcitemDesignCapacity.MinSize = new System.Drawing.Size(115, 28); + this.lcitemDesignCapacity.Name = "lcitemDesignCapacity"; + this.lcitemDesignCapacity.Size = new System.Drawing.Size(155, 28); + this.lcitemDesignCapacity.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcitemDesignCapacity.Text = " Capacity"; + this.lcitemDesignCapacity.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.lcitemDesignCapacity.TextSize = new System.Drawing.Size(80, 20); + this.lcitemDesignCapacity.TextToControlDistance = 5; + // + // emptySpaceItem12 + // + this.emptySpaceItem12.AllowHotTrack = false; + this.emptySpaceItem12.CustomizationFormText = "emptySpaceItem12"; + this.emptySpaceItem12.Location = new System.Drawing.Point(0, 56); + this.emptySpaceItem12.Name = "emptySpaceItem12"; + this.emptySpaceItem12.Size = new System.Drawing.Size(276, 89); + this.emptySpaceItem12.TextSize = new System.Drawing.Size(0, 0); + // + // emptySpaceItem13 + // + this.emptySpaceItem13.AllowHotTrack = false; + this.emptySpaceItem13.CustomizationFormText = "emptySpaceItem13"; + this.emptySpaceItem13.Location = new System.Drawing.Point(0, 145); + this.emptySpaceItem13.MinSize = new System.Drawing.Size(104, 24); + this.emptySpaceItem13.Name = "emptySpaceItem13"; + this.emptySpaceItem13.Size = new System.Drawing.Size(195, 34); + this.emptySpaceItem13.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.emptySpaceItem13.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlItem25 + // + this.layoutControlItem25.Control = this.btnCapacitySet; + this.layoutControlItem25.CustomizationFormText = "layoutControlItem25"; + this.layoutControlItem25.Location = new System.Drawing.Point(195, 145); + this.layoutControlItem25.MinSize = new System.Drawing.Size(30, 34); + this.layoutControlItem25.Name = "layoutControlItem25"; + this.layoutControlItem25.Size = new System.Drawing.Size(81, 34); + this.layoutControlItem25.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem25.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem25.TextVisible = false; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.teNewCapacity; + this.layoutControlItem1.Location = new System.Drawing.Point(155, 0); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(83, 28); + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // simpleLabelItem1 + // + this.simpleLabelItem1.AllowHotTrack = false; + this.simpleLabelItem1.Location = new System.Drawing.Point(238, 0); + this.simpleLabelItem1.MaxSize = new System.Drawing.Size(38, 18); + this.simpleLabelItem1.MinSize = new System.Drawing.Size(38, 18); + this.simpleLabelItem1.Name = "simpleLabelItem1"; + this.simpleLabelItem1.Size = new System.Drawing.Size(38, 28); + this.simpleLabelItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.simpleLabelItem1.Text = " Ah"; + this.simpleLabelItem1.TextSize = new System.Drawing.Size(19, 14); + // + // layoutControlItem2 + // + this.layoutControlItem2.AppearanceItemCaption.Options.UseTextOptions = true; + this.layoutControlItem2.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near; + this.layoutControlItem2.Control = this.teCurrSoc; + this.layoutControlItem2.Location = new System.Drawing.Point(0, 28); + this.layoutControlItem2.MinSize = new System.Drawing.Size(129, 28); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(155, 28); + this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem2.Text = " SOC"; + this.layoutControlItem2.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.layoutControlItem2.TextSize = new System.Drawing.Size(80, 20); + this.layoutControlItem2.TextToControlDistance = 5; + // + // layoutControlItem3 + // + this.layoutControlItem3.Control = this.teNewSoc; + this.layoutControlItem3.Location = new System.Drawing.Point(155, 28); + this.layoutControlItem3.MinSize = new System.Drawing.Size(54, 28); + this.layoutControlItem3.Name = "layoutControlItem3"; + this.layoutControlItem3.Size = new System.Drawing.Size(83, 28); + this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem3.TextVisible = false; + // + // simpleLabelItem2 + // + this.simpleLabelItem2.AllowHotTrack = false; + this.simpleLabelItem2.Location = new System.Drawing.Point(238, 28); + this.simpleLabelItem2.MaxSize = new System.Drawing.Size(38, 0); + this.simpleLabelItem2.MinSize = new System.Drawing.Size(38, 18); + this.simpleLabelItem2.Name = "simpleLabelItem2"; + this.simpleLabelItem2.Size = new System.Drawing.Size(38, 28); + this.simpleLabelItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.simpleLabelItem2.Text = " %"; + this.simpleLabelItem2.TextSize = new System.Drawing.Size(19, 14); + // + // TeAntiTheftGyroCurr + // + this.TeAntiTheftGyroCurr.Location = new System.Drawing.Point(86, 237); + this.TeAntiTheftGyroCurr.Name = "TeAntiTheftGyroCurr"; + this.TeAntiTheftGyroCurr.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeAntiTheftGyroCurr.Properties.Appearance.Options.UseFont = true; + this.TeAntiTheftGyroCurr.Properties.Appearance.Options.UseTextOptions = true; + this.TeAntiTheftGyroCurr.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.TeAntiTheftGyroCurr.Properties.ReadOnly = true; + this.TeAntiTheftGyroCurr.Size = new System.Drawing.Size(194, 24); + this.TeAntiTheftGyroCurr.StyleController = this.layoutControl1; + this.TeAntiTheftGyroCurr.TabIndex = 13; + // + // TeSensitive + // + this.TeSensitive.Location = new System.Drawing.Point(86, 265); + this.TeSensitive.Name = "TeSensitive"; + this.TeSensitive.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.TeSensitive.Properties.Appearance.Options.UseFont = true; + this.TeSensitive.Properties.Appearance.Options.UseTextOptions = true; + this.TeSensitive.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.TeSensitive.Properties.ReadOnly = true; + this.TeSensitive.Size = new System.Drawing.Size(194, 24); + this.TeSensitive.StyleController = this.layoutControl1; + this.TeSensitive.TabIndex = 18; + // + // layoutControlGroup1 + // + this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1"; + this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup1.GroupBordersVisible = false; + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem19, + this.layoutControlItem4, + this.layoutControlItem8, + this.layoutControlGroup3, + this.layoutControlGroup4, + this.emptySpaceItem5}); + this.layoutControlGroup1.Name = "Root"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0); + this.layoutControlGroup1.Size = new System.Drawing.Size(838, 406); + this.layoutControlGroup1.TextVisible = false; + // + // layoutControlItem19 + // + this.layoutControlItem19.Control = this.gbCapacityControl; + this.layoutControlItem19.CustomizationFormText = "layoutControlItem19"; + this.layoutControlItem19.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem19.MaxSize = new System.Drawing.Size(286, 210); + this.layoutControlItem19.MinSize = new System.Drawing.Size(286, 210); + this.layoutControlItem19.Name = "layoutControlItem19"; + this.layoutControlItem19.Size = new System.Drawing.Size(286, 210); + this.layoutControlItem19.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem19.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem19.TextVisible = false; + // + // layoutControlItem4 + // + this.layoutControlItem4.Control = this.gbChaModeControl; + this.layoutControlItem4.Location = new System.Drawing.Point(286, 0); + this.layoutControlItem4.MaxSize = new System.Drawing.Size(272, 0); + this.layoutControlItem4.MinSize = new System.Drawing.Size(272, 95); + this.layoutControlItem4.Name = "layoutControlItem4"; + this.layoutControlItem4.Size = new System.Drawing.Size(272, 210); + this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem4.TextVisible = false; + // + // layoutControlItem8 + // + this.layoutControlItem8.Control = this.gbBmsDateTime; + this.layoutControlItem8.Location = new System.Drawing.Point(558, 0); + this.layoutControlItem8.Name = "layoutControlItem8"; + this.layoutControlItem8.Size = new System.Drawing.Size(280, 210); + this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem8.TextVisible = false; + // + // layoutControlGroup3 + // + this.layoutControlGroup3.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.emptySpaceItem6, + this.layoutControlItem17, + this.layoutControlItem21, + this.layoutControlItem20, + this.layoutControlItem15, + this.layoutControlItem23}); + this.layoutControlGroup3.Location = new System.Drawing.Point(0, 210); + this.layoutControlGroup3.Name = "layoutControlGroup3"; + this.layoutControlGroup3.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup3.Size = new System.Drawing.Size(286, 196); + this.layoutControlGroup3.Text = "Anti-Theft (Gyro Scope)"; + // + // emptySpaceItem6 + // + this.emptySpaceItem6.AllowHotTrack = false; + this.emptySpaceItem6.Location = new System.Drawing.Point(0, 56); + this.emptySpaceItem6.Name = "emptySpaceItem6"; + this.emptySpaceItem6.Size = new System.Drawing.Size(278, 77); + this.emptySpaceItem6.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlItem17 + // + this.layoutControlItem17.Control = this.TeAntiTheftGyroCurr; + this.layoutControlItem17.ControlAlignment = System.Drawing.ContentAlignment.TopLeft; + this.layoutControlItem17.CustomizationFormText = " Gyro-Scope Curr"; + this.layoutControlItem17.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem17.MaxSize = new System.Drawing.Size(0, 28); + this.layoutControlItem17.MinSize = new System.Drawing.Size(134, 28); + this.layoutControlItem17.Name = "layoutControlItem17"; + this.layoutControlItem17.Size = new System.Drawing.Size(278, 28); + this.layoutControlItem17.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem17.Text = " Gyro Scope"; + this.layoutControlItem17.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.layoutControlItem17.TextSize = new System.Drawing.Size(75, 20); + this.layoutControlItem17.TextToControlDistance = 5; + // + // layoutControlItem21 + // + this.layoutControlItem21.Control = this.BtnAntiTheftDisable; + this.layoutControlItem21.Location = new System.Drawing.Point(192, 133); + this.layoutControlItem21.MaxSize = new System.Drawing.Size(0, 34); + this.layoutControlItem21.MinSize = new System.Drawing.Size(30, 34); + this.layoutControlItem21.Name = "layoutControlItem21"; + this.layoutControlItem21.Size = new System.Drawing.Size(86, 34); + this.layoutControlItem21.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem21.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem21.TextVisible = false; + // + // layoutControlItem20 + // + this.layoutControlItem20.Control = this.BtnClearAntiTheftProtect; + this.layoutControlItem20.Location = new System.Drawing.Point(0, 133); + this.layoutControlItem20.MinSize = new System.Drawing.Size(30, 26); + this.layoutControlItem20.Name = "layoutControlItem20"; + this.layoutControlItem20.Size = new System.Drawing.Size(103, 34); + this.layoutControlItem20.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem20.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem20.TextVisible = false; + // + // layoutControlItem15 + // + this.layoutControlItem15.Control = this.BtnAntiTheftEnable; + this.layoutControlItem15.Location = new System.Drawing.Point(103, 133); + this.layoutControlItem15.MinSize = new System.Drawing.Size(30, 26); + this.layoutControlItem15.Name = "layoutControlItem15"; + this.layoutControlItem15.Size = new System.Drawing.Size(89, 34); + this.layoutControlItem15.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem15.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem15.TextVisible = false; + // + // layoutControlItem23 + // + this.layoutControlItem23.Control = this.TeSensitive; + this.layoutControlItem23.ControlAlignment = System.Drawing.ContentAlignment.TopLeft; + this.layoutControlItem23.CustomizationFormText = " Sensitive"; + this.layoutControlItem23.Location = new System.Drawing.Point(0, 28); + this.layoutControlItem23.MinSize = new System.Drawing.Size(178, 28); + this.layoutControlItem23.Name = "layoutControlItem23"; + this.layoutControlItem23.Size = new System.Drawing.Size(278, 28); + this.layoutControlItem23.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem23.Text = " Sensitive"; + this.layoutControlItem23.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.layoutControlItem23.TextSize = new System.Drawing.Size(75, 14); + this.layoutControlItem23.TextToControlDistance = 5; + // + // layoutControlGroup4 + // + this.layoutControlGroup4.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem18, + this.emptySpaceItem7, + this.layoutControlItem16, + this.layoutControlItem22, + this.emptySpaceItem8}); + this.layoutControlGroup4.Location = new System.Drawing.Point(286, 210); + this.layoutControlGroup4.Name = "layoutControlGroup4"; + this.layoutControlGroup4.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup4.Size = new System.Drawing.Size(272, 196); + this.layoutControlGroup4.Text = "Anti-Theft (RS-485 Timeout)"; + // + // layoutControlItem18 + // + this.layoutControlItem18.Control = this.BtnRS485TimeoutSet; + this.layoutControlItem18.Location = new System.Drawing.Point(188, 133); + this.layoutControlItem18.MaxSize = new System.Drawing.Size(0, 34); + this.layoutControlItem18.MinSize = new System.Drawing.Size(76, 34); + this.layoutControlItem18.Name = "layoutControlItem18"; + this.layoutControlItem18.Size = new System.Drawing.Size(76, 34); + this.layoutControlItem18.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem18.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem18.TextVisible = false; + // + // emptySpaceItem7 + // + this.emptySpaceItem7.AllowHotTrack = false; + this.emptySpaceItem7.Location = new System.Drawing.Point(0, 28); + this.emptySpaceItem7.MinSize = new System.Drawing.Size(104, 24); + this.emptySpaceItem7.Name = "emptySpaceItem7"; + this.emptySpaceItem7.Size = new System.Drawing.Size(264, 105); + this.emptySpaceItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.emptySpaceItem7.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlItem16 + // + this.layoutControlItem16.Control = this.TeCommTimeout; + this.layoutControlItem16.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem16.MinSize = new System.Drawing.Size(178, 28); + this.layoutControlItem16.Name = "layoutControlItem16"; + this.layoutControlItem16.Size = new System.Drawing.Size(180, 28); + this.layoutControlItem16.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem16.Text = " RS-485 Timeout"; + this.layoutControlItem16.TextSize = new System.Drawing.Size(93, 14); + // + // layoutControlItem22 + // + this.layoutControlItem22.Control = this.TeCommTimeoutNew; + this.layoutControlItem22.Location = new System.Drawing.Point(180, 0); + this.layoutControlItem22.Name = "layoutControlItem22"; + this.layoutControlItem22.Size = new System.Drawing.Size(84, 28); + this.layoutControlItem22.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem22.TextVisible = false; + // + // emptySpaceItem8 + // + this.emptySpaceItem8.AllowHotTrack = false; + this.emptySpaceItem8.Location = new System.Drawing.Point(0, 133); + this.emptySpaceItem8.Name = "emptySpaceItem8"; + this.emptySpaceItem8.Size = new System.Drawing.Size(188, 34); + this.emptySpaceItem8.TextSize = new System.Drawing.Size(0, 0); + // + // emptySpaceItem5 + // + this.emptySpaceItem5.AllowHotTrack = false; + this.emptySpaceItem5.Location = new System.Drawing.Point(558, 210); + this.emptySpaceItem5.Name = "emptySpaceItem5"; + this.emptySpaceItem5.Size = new System.Drawing.Size(280, 196); + this.emptySpaceItem5.TextSize = new System.Drawing.Size(0, 0); + // + // ucCalibration + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.layoutControl1); + this.Name = "ucCalibration"; + this.Size = new System.Drawing.Size(838, 406); + this.Load += new System.EventHandler(this.ucCalibration_Load); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.TeCommTimeoutNew.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeCommTimeout.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbBmsDateTime)).EndInit(); + this.gbBmsDateTime.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).EndInit(); + this.layoutControl3.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.TeCurrDateTime.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeNewDateTime.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbChaModeControl)).EndInit(); + this.gbChaModeControl.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).EndInit(); + this.layoutControl2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.TeChgModeValueNew.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeChgModeValueCurr.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.CbNewChaMode.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeChaMode.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbCapacityControl)).EndInit(); + this.gbCapacityControl.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl7)).EndInit(); + this.layoutControl7.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.teNewSoc.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.teCurrSoc.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.teNewCapacity.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.teCurrCapacity.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup7)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemDesignCapacity)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem12)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem13)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem25)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeAntiTheftGyroCurr.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeSensitive.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem19)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem17)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem21)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem20)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem15)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem23)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem18)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem7)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem16)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem22)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem8)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem5)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraEditors.GroupControl gbCapacityControl; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem19; + private DevExpress.XtraLayout.LayoutControl layoutControl7; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup7; + private DevExpress.XtraEditors.TextEdit teCurrCapacity; + private DevExpress.XtraLayout.LayoutControlItem lcitemDesignCapacity; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem12; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem13; + private DevExpress.XtraEditors.SimpleButton btnCapacitySet; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem25; + private DevExpress.XtraEditors.TextEdit teNewCapacity; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem1; + private DevExpress.XtraEditors.TextEdit teCurrSoc; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraEditors.TextEdit teNewSoc; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem2; + private DevExpress.XtraEditors.GroupControl gbChaModeControl; + private DevExpress.XtraLayout.LayoutControl layoutControl2; + private DevExpress.XtraLayout.LayoutControlGroup Root; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4; + private DevExpress.XtraEditors.SimpleButton BtnChaModeSet; + private DevExpress.XtraEditors.TextEdit TeChaMode; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2; + private DevExpress.XtraEditors.GroupControl gbBmsDateTime; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8; + private DevExpress.XtraLayout.LayoutControl layoutControl3; + private DevExpress.XtraEditors.TextEdit TeCurrDateTime; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9; + private DevExpress.XtraEditors.TextEdit TeNewDateTime; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem10; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem3; + private DevExpress.XtraEditors.SimpleButton BtnBmsDateTimeSet; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem4; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem11; + private DevExpress.XtraEditors.SimpleButton BtnGetCurrTime; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem12; + private DevExpress.XtraEditors.ComboBoxEdit CbNewChaMode; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem13; + private DevExpress.XtraEditors.TextEdit TeChgModeValueCurr; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5; + private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem3; + private DevExpress.XtraEditors.TextEdit TeChgModeValueNew; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem14; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem6; + private DevExpress.XtraEditors.TextEdit TeAntiTheftGyroCurr; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem17; + private DevExpress.XtraEditors.SimpleButton BtnAntiTheftDisable; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem21; + private DevExpress.XtraEditors.SimpleButton BtnClearAntiTheftProtect; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem20; + private DevExpress.XtraEditors.SimpleButton BtnAntiTheftEnable; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem15; + private DevExpress.XtraEditors.SimpleButton BtnRS485TimeoutSet; + private DevExpress.XtraEditors.TextEdit TeCommTimeout; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem16; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem18; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup4; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem7; + private DevExpress.XtraEditors.TextEdit TeCommTimeoutNew; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem22; + private DevExpress.XtraEditors.TextEdit TeSensitive; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem23; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem8; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem5; + } +} diff --git a/LFP_Manager/Controls/ucCalibration.cs b/LFP_Manager/Controls/ucCalibration.cs new file mode 100644 index 0000000..a4b2f97 --- /dev/null +++ b/LFP_Manager/Controls/ucCalibration.cs @@ -0,0 +1,443 @@ +using LFP_Manager.DataStructure; +using LFP_Manager.Utils; +using System; +using System.Windows.Forms; + +namespace LFP_Manager.Controls +{ + public partial class ucCalibration : DevExpress.XtraEditors.XtraUserControl + { + #region DELEGATE + + public delegate void setCalibUpdate(object sender); + public delegate void setCalibCommand(int mode, int index, int flag, + ref CsDeviceData.DeviceModuleData.DeviceParamData aParm, + ref CsDeviceData.DeviceModuleData.DeviceCalibration aCalib); + public delegate Int32 getBattData(int item, int cno); + + #endregion + + #region ENUMS + + private enum ControlLevel + { + User = 0, + Technician = 1, + Engineer = 2, + Master = 3 + } + + private enum CommandMode + { + SetCapacity = 15, + SetChargeMode = 16, + SetDateTime = 17, + SetAntiTheft = 18, + ClearAntiTheft = 19, + SetRS485Timeout = 20, + SetBalanceVoltage = 21, + SetBalanceDiff = 22 + } + + #endregion + + #region VARIABLES + + const int CALC_INDEX = 6; + + CommConfig Config; + + CsDeviceData.DeviceModuleData ModuleData; + CsDeviceData.DeviceModuleData.DeviceCalibration rCalib; + CsDeviceData.DeviceModuleData.DeviceCalibration wCalib; + + CsDeviceData.DeviceModuleData.DeviceParamData rParam; + + public event setCalibCommand OnCommand = null; + + int wFlag = 0; + + int dFlag; + + int PasswordResult; + + #endregion + + #region CONSTRUCTORS + + // Battery No: + // 0: No 1,3,5,7,9,11,13,15 ODD + // 1: No 2,4,6,8,10,12,14 Even + public ucCalibration() + { + InitializeComponent(); + + ComponentLoad(); + + Config = new CommConfig(); + + dFlag = 0; + } + + private void ComponentLoad() + { + CbNewChaMode.Clear(); + for (int i = 0; i < csConstData.SystemInfo.CHG_MODE.Length; i++) + { + CbNewChaMode.Properties.Items.Add(csConstData.SystemInfo.CHG_MODE[i]); + } + + teNewCapacity.KeyPress += TextBox_KeyPress; + teNewSoc.KeyPress += TextBox_KeyPress; + TeCommTimeoutNew.KeyPress += TextBox_KeyPress; + TeChgModeValueNew.KeyPress += TextBox_KeyPress2; + } + #endregion + + #region EXT EVENT FUNCTION + + private void OnCommnadEvent(int mode, int index, int flag, + ref CsDeviceData.DeviceModuleData.DeviceParamData aParam, + ref CsDeviceData.DeviceModuleData.DeviceCalibration aCalib) + { + OnCommand?.Invoke(mode, index, flag, ref aParam, ref aCalib); + } + + #endregion + + #region PUBLIC FUCTIONS + + public void UpdateConfig(CommConfig aConfig) + { + Config = aConfig; + } + public void UpdateData(CsDeviceData.DeviceModuleData mData, CsDeviceData.DeviceModuleData.DeviceCalibration aCalib) + { + ModuleData = mData; + rCalib = aCalib; + DisplayCalib(); + UpdateNewCalib(); + } + + private void UpdateNewCalib() + { + if (ModuleData != null) + { + if (wFlag == 0) + { + teNewCapacity.Text = teCurrCapacity.Text; + teNewSoc.Text = teCurrSoc.Text; + + wFlag = 1; + } + } + } + #endregion + + #region DISPLAY DATA + + private void DisplayCalib() + { + if (ModuleData != null) + { + teCurrCapacity.Text = string.Format("{0}", ModuleData.ValueData.designedCapacity / 10); + teCurrSoc.Text = string.Format("{0}", ModuleData.ValueData.SOC / 10); + + switch (ModuleData.CalibrationData.ChaMode.Mode) + { + case 0: + TeChaMode.Text = csConstData.SystemInfo.CHG_MODE[0]; + break; + case 1: + TeChaMode.Text = csConstData.SystemInfo.CHG_MODE[1]; + break; + case 2: + TeChaMode.Text = csConstData.SystemInfo.CHG_MODE[2]; + break; + case 4: + TeChaMode.Text = csConstData.SystemInfo.CHG_MODE[3]; + break; + case 8: + TeChaMode.Text = csConstData.SystemInfo.CHG_MODE[4]; + break; + default: + TeChaMode.Text = string.Format("UNKNOWN({0})", ModuleData.CalibrationData.ChaMode.Mode); + break; + } + TeChgModeValueCurr.Text = string.Format("{0:0.00}", Convert.ToDouble(ModuleData.CalibrationData.ChaMode.Value) / 100); + + TeCurrDateTime.Text = ModuleData.BmsDateTime.DateTimeStr; + + // Anti-Theft Data Display + if (ModuleData.CalibrationData.AntiTheft.GyroScope == 0) + { + TeAntiTheftGyroCurr.Text = "DISABLE"; + } + else + { + TeAntiTheftGyroCurr.Text = "ENABLE"; + } + TeSensitive.Text = string.Format("{0}", ModuleData.CalibrationData.AntiTheft.GyroScope); + + // Anti-Theft - RS-485 Comm. Timeout + TeCommTimeout.Text = string.Format("{0}", ModuleData.CalibrationData.AntiTheft.Comm); + + if (dFlag == 0) + { + CbNewChaMode.SelectedIndex = 1; + switch (ModuleData.CalibrationData.ChaMode.Mode) + { + case 0: + CbNewChaMode.SelectedIndex = 0; + break; + case 1: + CbNewChaMode.SelectedIndex = 1; + break; + case 2: + CbNewChaMode.SelectedIndex = 2; + break; + case 4: + CbNewChaMode.SelectedIndex = 3; + break; + case 8: + CbNewChaMode.SelectedIndex = 4; + break; + default: + CbNewChaMode.Text = string.Format("UNKNOWN({0})", ModuleData.CalibrationData.ChaMode.Mode); + break; + } + + TeChgModeValueNew.Text = TeChgModeValueCurr.Text; + + dFlag = 1; + } + } + } + + #endregion + + #region BUTTON EVENT + + private void TextBox_KeyPress(object sender, KeyPressEventArgs e) + { + csUtils.TypingOnlyNumber(sender, e, false, false); + } + private void TextBox_KeyPress2(object sender, KeyPressEventArgs e) + { + csUtils.TypingOnlyNumber(sender, e, true, false); + } + + private void btnCapacitySet_Click(object sender, EventArgs e) + { + try + { + if (!ValidateNumericInput(teNewCapacity.Text, "Capacity") || + !ValidateNumericInput(teNewSoc.Text, "SOC")) + { + return; + } + + wCalib = rCalib.DeepCopy(); + wCalib.CapCalib.DesignCapacity = Convert.ToInt32(teNewCapacity.Text) * 10; + wCalib.CapCalib.SocValue = Convert.ToInt32(teNewSoc.Text); + + OnCommnadEvent((int)CommandMode.SetCapacity, CALC_INDEX, 1, ref rParam, ref wCalib); + } + catch (Exception ex) + { + ShowError($"Failed to set capacity: {ex.Message}"); + } + } + + private void BtnChaModeSet_Click(object sender, EventArgs e) + { + try + { + if (string.IsNullOrEmpty(CbNewChaMode.Text)) + { + ShowError("Please select a charge mode"); + return; + } + + if (CbNewChaMode.SelectedIndex > 1 && + !ValidateNumericInput(TeChgModeValueNew.Text, "Charge Mode Value")) + { + return; + } + + wCalib = rCalib.DeepCopy(); + wCalib.ChaMode.Mode = CbNewChaMode.SelectedIndex; + wCalib.ChaMode.Value = (int)(Convert.ToDouble(TeChgModeValueNew.Text) * 100); + + OnCommnadEvent((int)CommandMode.SetChargeMode, CALC_INDEX, 1, ref rParam, ref wCalib); + } + catch (Exception ex) + { + ShowError($"Failed to set charge mode: {ex.Message}"); + } + } + private void BtnBmsDateTimeSet_Click(object sender, EventArgs e) + { + try + { + if (string.IsNullOrEmpty(TeNewDateTime.Text)) + { + ShowError("Please enter a date/time value"); + return; + } + + DateTime dateTime = Convert.ToDateTime(TeNewDateTime.Text); + int iDateTime = CalculateDateTimeValue(dateTime); + + wCalib = rCalib.DeepCopy(); + wCalib.BmsDateTime.sValue[0] = (short)(iDateTime >> 16); + wCalib.BmsDateTime.sValue[1] = (short)(iDateTime >> 0); + + OnCommnadEvent((int)CommandMode.SetDateTime, CALC_INDEX, 1, ref rParam, ref wCalib); + } + catch (Exception ex) + { + ShowError($"Failed to set date/time: {ex.Message}"); + } + } + private int CalculateDateTimeValue(DateTime dateTime) + { + return ((dateTime.Year - 2000) << 26) + | (dateTime.Month << 22) + | (dateTime.Day << 17) + | (dateTime.Hour << 12) + | (dateTime.Minute << 6) + | (dateTime.Second << 0); + } + + private void BtnGetCurrTime_Click(object sender, EventArgs e) + { + TeNewDateTime.Text = string.Format("{0:yyyy-MM-dd HH:mm:ss}", DateTime.Now); + } + + private void BtnClearAntiTheftProtect_Click(object sender, EventArgs e) + { + wCalib = rCalib.DeepCopy(); + wCalib.AntiTheft.GyroScope = Config.GyroSensitive; + + OnCommnadEvent(19, CALC_INDEX, 1, ref rParam, ref wCalib); + } + + private void PassWordResultProc(int result) + { + PasswordResult = result; + } + + private void BtnAntiTheftEnable_Click(object sender, EventArgs e) + { + wCalib = rCalib.DeepCopy(); + wCalib.AntiTheft.GyroScope = Config.GyroSensitive; + + OnCommnadEvent(18, CALC_INDEX, 1, ref rParam, ref wCalib); + } + + private void BtnAntiTheftDisable_Click(object sender, EventArgs e) + { + wCalib = rCalib.DeepCopy(); + wCalib.AntiTheft.GyroScope = 0; + + OnCommnadEvent(18, CALC_INDEX, 1, ref rParam, ref wCalib); + } + + private void BtnRS485TimeoutSet_Click(object sender, EventArgs e) + { + string stTimeout = TeCommTimeoutNew.Text; + int Timeout = 0; + + try + { + Timeout = Convert.ToInt32(stTimeout); + } + catch (Exception) + { + MessageBox.Show("Timeout data Format Error", "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + + wCalib = rCalib.DeepCopy(); + wCalib.AntiTheft.Comm = Timeout; + + OnCommnadEvent(20, CALC_INDEX, 1, ref rParam, ref wCalib); + } + #endregion + + #region COMPONENT EVENT + private void CbNewChaMode_SelectedIndexChanged(object sender, EventArgs e) + { + switch (CbNewChaMode.SelectedIndex) + { + case 0: + TeChgModeValueNew.Enabled = false; + break; + case 1: + TeChgModeValueNew.Enabled = false; + break; + case 2: + TeChgModeValueNew.Enabled = true; + break; + case 3: + TeChgModeValueNew.Enabled = true; + break; + case 4: + TeChgModeValueNew.Enabled = true; + break; + default: + TeChgModeValueNew.Enabled = false; + break; + } + } + #endregion + + #region FORM EVENT + private void ucCalibration_Load(object sender, EventArgs e) + { + CalibConfig_ReLoad(); + } + + private void CalibConfig_ReLoad() + { + var level = (ControlLevel)Config.ControlLevel; + + btnCapacitySet.Enabled = level == ControlLevel.Master; + BtnChaModeSet.Enabled = level >= ControlLevel.Engineer; + BtnBmsDateTimeSet.Enabled = level >= ControlLevel.Engineer; + BtnClearAntiTheftProtect.Enabled = level >= ControlLevel.Technician; + BtnAntiTheftEnable.Enabled = level >= ControlLevel.Engineer; + BtnAntiTheftDisable.Enabled = level >= ControlLevel.Engineer; + BtnRS485TimeoutSet.Enabled = level >= ControlLevel.Technician; + } + + #endregion + + #region VALIDATION METHODS + + private bool ValidateNumericInput(string input, string fieldName) + { + if (string.IsNullOrEmpty(input)) + { + ShowError($"Please enter a value for {fieldName}"); + return false; + } + + if (!int.TryParse(input, out _)) + { + ShowError($"Invalid numeric value for {fieldName}"); + return false; + } + + return true; + } + + private void ShowError(string message) + { + MessageBox.Show(message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + + #endregion + } +} diff --git a/LFP_Manager/Controls/ucCalibration.resx b/LFP_Manager/Controls/ucCalibration.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/LFP_Manager/Controls/ucCalibration.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/LFP_Manager/Controls/ucCalibrationView.Designer.cs b/LFP_Manager/Controls/ucCalibrationView.Designer.cs new file mode 100644 index 0000000..2ad16c0 --- /dev/null +++ b/LFP_Manager/Controls/ucCalibrationView.Designer.cs @@ -0,0 +1,303 @@ + +namespace LFP_Manager.Controls +{ + partial class ucCalibrationView + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.edDchCalibration = new DevExpress.XtraEditors.TextEdit(); + this.edChgCalibration = new DevExpress.XtraEditors.TextEdit(); + this.edChgOption = new DevExpress.XtraEditors.TextEdit(); + this.edBattCapacity = new DevExpress.XtraEditors.TextEdit(); + this.Root = new DevExpress.XtraLayout.LayoutControlGroup(); + this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.gbBattCapacity = new DevExpress.XtraLayout.LayoutControlGroup(); + this.lbBattCapacity = new DevExpress.XtraLayout.SimpleLabelItem(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.gbCalibrationValue = new DevExpress.XtraLayout.LayoutControlGroup(); + this.lbChgOption = new DevExpress.XtraLayout.SimpleLabelItem(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.lbChgCalibration = new DevExpress.XtraLayout.SimpleLabelItem(); + this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + this.lbDchCalibration = new DevExpress.XtraLayout.SimpleLabelItem(); + this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.edDchCalibration.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.edChgCalibration.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.edChgOption.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.edBattCapacity.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbBattCapacity)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbBattCapacity)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbCalibrationValue)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbChgOption)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbChgCalibration)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbDchCalibration)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.AllowCustomization = false; + this.layoutControl1.Controls.Add(this.edDchCalibration); + this.layoutControl1.Controls.Add(this.edChgCalibration); + this.layoutControl1.Controls.Add(this.edChgOption); + this.layoutControl1.Controls.Add(this.edBattCapacity); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(993, 152, 650, 400); + this.layoutControl1.Root = this.Root; + this.layoutControl1.Size = new System.Drawing.Size(449, 277); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // edDchCalibration + // + this.edDchCalibration.Location = new System.Drawing.Point(129, 132); + this.edDchCalibration.Name = "edDchCalibration"; + this.edDchCalibration.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F); + this.edDchCalibration.Properties.Appearance.Options.UseFont = true; + this.edDchCalibration.Properties.Appearance.Options.UseTextOptions = true; + this.edDchCalibration.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.edDchCalibration.Size = new System.Drawing.Size(314, 22); + this.edDchCalibration.StyleController = this.layoutControl1; + this.edDchCalibration.TabIndex = 7; + // + // edChgCalibration + // + this.edChgCalibration.Location = new System.Drawing.Point(129, 106); + this.edChgCalibration.Name = "edChgCalibration"; + this.edChgCalibration.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F); + this.edChgCalibration.Properties.Appearance.Options.UseFont = true; + this.edChgCalibration.Properties.Appearance.Options.UseTextOptions = true; + this.edChgCalibration.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.edChgCalibration.Size = new System.Drawing.Size(314, 22); + this.edChgCalibration.StyleController = this.layoutControl1; + this.edChgCalibration.TabIndex = 6; + // + // edChgOption + // + this.edChgOption.Location = new System.Drawing.Point(129, 80); + this.edChgOption.Name = "edChgOption"; + this.edChgOption.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F); + this.edChgOption.Properties.Appearance.Options.UseFont = true; + this.edChgOption.Properties.Appearance.Options.UseTextOptions = true; + this.edChgOption.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.edChgOption.Size = new System.Drawing.Size(314, 22); + this.edChgOption.StyleController = this.layoutControl1; + this.edChgOption.TabIndex = 5; + // + // edBattCapacity + // + this.edBattCapacity.Location = new System.Drawing.Point(129, 27); + this.edBattCapacity.Name = "edBattCapacity"; + this.edBattCapacity.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F); + this.edBattCapacity.Properties.Appearance.Options.UseFont = true; + this.edBattCapacity.Properties.Appearance.Options.UseTextOptions = true; + this.edBattCapacity.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.edBattCapacity.Size = new System.Drawing.Size(314, 22); + this.edBattCapacity.StyleController = this.layoutControl1; + this.edBattCapacity.TabIndex = 4; + // + // Root + // + this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.Root.GroupBordersVisible = false; + this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.emptySpaceItem1, + this.gbBattCapacity, + this.gbCalibrationValue}); + this.Root.Name = "Root"; + this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.Root.Size = new System.Drawing.Size(449, 277); + this.Root.TextVisible = false; + // + // emptySpaceItem1 + // + this.emptySpaceItem1.AllowHotTrack = false; + this.emptySpaceItem1.Location = new System.Drawing.Point(0, 158); + this.emptySpaceItem1.Name = "emptySpaceItem1"; + this.emptySpaceItem1.Size = new System.Drawing.Size(447, 117); + this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0); + // + // gbBattCapacity + // + this.gbBattCapacity.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.lbBattCapacity, + this.layoutControlItem1}); + this.gbBattCapacity.Location = new System.Drawing.Point(0, 0); + this.gbBattCapacity.Name = "gbBattCapacity"; + this.gbBattCapacity.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.gbBattCapacity.Size = new System.Drawing.Size(447, 53); + this.gbBattCapacity.Spacing = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.gbBattCapacity.Text = "Battery Capacity"; + // + // lbBattCapacity + // + this.lbBattCapacity.AllowHotTrack = false; + this.lbBattCapacity.Location = new System.Drawing.Point(0, 0); + this.lbBattCapacity.Name = "lbBattCapacity"; + this.lbBattCapacity.Size = new System.Drawing.Size(123, 26); + this.lbBattCapacity.Text = " Battery Capacity"; + this.lbBattCapacity.TextSize = new System.Drawing.Size(96, 14); + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.edBattCapacity; + this.layoutControlItem1.Location = new System.Drawing.Point(123, 0); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(318, 26); + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // gbCalibrationValue + // + this.gbCalibrationValue.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.lbChgOption, + this.layoutControlItem2, + this.lbChgCalibration, + this.layoutControlItem3, + this.lbDchCalibration, + this.layoutControlItem4}); + this.gbCalibrationValue.Location = new System.Drawing.Point(0, 53); + this.gbCalibrationValue.Name = "gbCalibrationValue"; + this.gbCalibrationValue.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.gbCalibrationValue.Size = new System.Drawing.Size(447, 105); + this.gbCalibrationValue.Spacing = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.gbCalibrationValue.Text = "Calibration Value"; + // + // lbChgOption + // + this.lbChgOption.AllowHotTrack = false; + this.lbChgOption.Location = new System.Drawing.Point(0, 0); + this.lbChgOption.Name = "lbChgOption"; + this.lbChgOption.Size = new System.Drawing.Size(123, 26); + this.lbChgOption.Text = " Charge Option"; + this.lbChgOption.TextSize = new System.Drawing.Size(96, 14); + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.edChgOption; + this.layoutControlItem2.Location = new System.Drawing.Point(123, 0); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(318, 26); + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // lbChgCalibration + // + this.lbChgCalibration.AllowHotTrack = false; + this.lbChgCalibration.Location = new System.Drawing.Point(0, 26); + this.lbChgCalibration.Name = "lbChgCalibration"; + this.lbChgCalibration.Size = new System.Drawing.Size(123, 26); + this.lbChgCalibration.Text = " Calibration (CHG)"; + this.lbChgCalibration.TextSize = new System.Drawing.Size(96, 14); + // + // layoutControlItem3 + // + this.layoutControlItem3.Control = this.edChgCalibration; + this.layoutControlItem3.Location = new System.Drawing.Point(123, 26); + this.layoutControlItem3.Name = "layoutControlItem3"; + this.layoutControlItem3.Size = new System.Drawing.Size(318, 26); + this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem3.TextVisible = false; + // + // lbDchCalibration + // + this.lbDchCalibration.AllowHotTrack = false; + this.lbDchCalibration.Location = new System.Drawing.Point(0, 52); + this.lbDchCalibration.Name = "lbDchCalibration"; + this.lbDchCalibration.Size = new System.Drawing.Size(123, 26); + this.lbDchCalibration.Text = " Calibration (DCH)"; + this.lbDchCalibration.TextSize = new System.Drawing.Size(96, 14); + // + // layoutControlItem4 + // + this.layoutControlItem4.Control = this.edDchCalibration; + this.layoutControlItem4.Location = new System.Drawing.Point(123, 52); + this.layoutControlItem4.Name = "layoutControlItem4"; + this.layoutControlItem4.Size = new System.Drawing.Size(318, 26); + this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem4.TextVisible = false; + // + // ucCalibrationView + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.layoutControl1); + this.Name = "ucCalibrationView"; + this.Size = new System.Drawing.Size(449, 277); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.edDchCalibration.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.edChgCalibration.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.edChgOption.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.edBattCapacity.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbBattCapacity)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbBattCapacity)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbCalibrationValue)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbChgOption)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbChgCalibration)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbDchCalibration)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup Root; + private DevExpress.XtraEditors.TextEdit edBattCapacity; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + private DevExpress.XtraEditors.TextEdit edDchCalibration; + private DevExpress.XtraEditors.TextEdit edChgCalibration; + private DevExpress.XtraEditors.TextEdit edChgOption; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4; + private DevExpress.XtraLayout.SimpleLabelItem lbBattCapacity; + private DevExpress.XtraLayout.SimpleLabelItem lbChgOption; + private DevExpress.XtraLayout.SimpleLabelItem lbChgCalibration; + private DevExpress.XtraLayout.SimpleLabelItem lbDchCalibration; + private DevExpress.XtraLayout.LayoutControlGroup gbBattCapacity; + private DevExpress.XtraLayout.LayoutControlGroup gbCalibrationValue; + } +} diff --git a/LFP_Manager/Controls/ucCalibrationView.cs b/LFP_Manager/Controls/ucCalibrationView.cs new file mode 100644 index 0000000..ee0b154 --- /dev/null +++ b/LFP_Manager/Controls/ucCalibrationView.cs @@ -0,0 +1,34 @@ +using DevExpress.XtraEditors; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +using LFP_Manager.DataStructure; + +namespace LFP_Manager.Controls +{ + public partial class ucCalibrationView : DevExpress.XtraEditors.XtraUserControl + { + #region VARIABLES + + private CsDeviceData.DeviceModuleData ModuleData; + + #endregion + + public ucCalibrationView() + { + InitializeComponent(); + + edBattCapacity.Enabled = false; + edChgOption.Enabled = false; + edChgCalibration.Enabled = false; + edDchCalibration.Enabled = false; + } + } +} diff --git a/LFP_Manager/Controls/ucCalibrationView.resx b/LFP_Manager/Controls/ucCalibrationView.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/LFP_Manager/Controls/ucCalibrationView.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/LFP_Manager/Controls/ucCommConfig.Designer.cs b/LFP_Manager/Controls/ucCommConfig.Designer.cs new file mode 100644 index 0000000..69f8507 --- /dev/null +++ b/LFP_Manager/Controls/ucCommConfig.Designer.cs @@ -0,0 +1,721 @@ +namespace LFP_Manager.Controls +{ + partial class ucCommConfig + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.RbRS485 = new DevExpress.XtraEditors.CheckEdit(); + this.CbSnmpModel = new DevExpress.XtraEditors.ComboBoxEdit(); + this.teTargetIP = new IPAddressControlLib.IPAddressControl(); + this.RbSnmp = new DevExpress.XtraEditors.CheckEdit(); + this.edRecvWaitTime = new DevExpress.XtraEditors.TextEdit(); + this.cbUartModel = new DevExpress.XtraEditors.ComboBoxEdit(); + this.RbUart = new DevExpress.XtraEditors.CheckEdit(); + this.cbUartPort = new DevExpress.XtraEditors.ComboBoxEdit(); + this.cbDbLogPeriod = new DevExpress.XtraEditors.ComboBoxEdit(); + this.btnClose = new DevExpress.XtraEditors.SimpleButton(); + this.btnSave = new DevExpress.XtraEditors.SimpleButton(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem13 = new DevExpress.XtraLayout.LayoutControlItem(); + this.gbDbConfig = new DevExpress.XtraLayout.LayoutControlGroup(); + this.lbDbLogPeriod = new DevExpress.XtraLayout.SimpleLabelItem(); + this.layoutControlItem15 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlGroup4 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem(); + this.LcGroupUart = new DevExpress.XtraLayout.LayoutControlGroup(); + this.simpleLabelItem3 = new DevExpress.XtraLayout.SimpleLabelItem(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.simpleLabelItem4 = new DevExpress.XtraLayout.SimpleLabelItem(); + this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); + this.simpleLabelItem2 = new DevExpress.XtraLayout.SimpleLabelItem(); + this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.LcGroupSnmp = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem(); + this.simpleLabelItem6 = new DevExpress.XtraLayout.SimpleLabelItem(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.simpleLabelItem1 = new DevExpress.XtraLayout.SimpleLabelItem(); + this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.CbModuleQty = new DevExpress.XtraEditors.ComboBoxEdit(); + this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem(); + this.simpleLabelItem5 = new DevExpress.XtraLayout.SimpleLabelItem(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.RbRS485.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.CbSnmpModel.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.RbSnmp.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.edRecvWaitTime.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.cbUartModel.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.RbUart.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.cbUartPort.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.cbDbLogPeriod.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbDbConfig)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbDbLogPeriod)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem15)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.LcGroupUart)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.LcGroupSnmp)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.CbModuleQty.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem5)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.CbModuleQty); + this.layoutControl1.Controls.Add(this.RbRS485); + this.layoutControl1.Controls.Add(this.CbSnmpModel); + this.layoutControl1.Controls.Add(this.teTargetIP); + this.layoutControl1.Controls.Add(this.RbSnmp); + this.layoutControl1.Controls.Add(this.edRecvWaitTime); + this.layoutControl1.Controls.Add(this.cbUartModel); + this.layoutControl1.Controls.Add(this.RbUart); + this.layoutControl1.Controls.Add(this.cbUartPort); + this.layoutControl1.Controls.Add(this.cbDbLogPeriod); + this.layoutControl1.Controls.Add(this.btnClose); + this.layoutControl1.Controls.Add(this.btnSave); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(889, 267, 774, 451); + this.layoutControl1.Root = this.layoutControlGroup1; + this.layoutControl1.Size = new System.Drawing.Size(462, 458); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // RbRS485 + // + this.RbRS485.Location = new System.Drawing.Point(161, 37); + this.RbRS485.Name = "RbRS485"; + this.RbRS485.Properties.Caption = "RS-485"; + this.RbRS485.Properties.CheckStyle = DevExpress.XtraEditors.Controls.CheckStyles.Radio; + this.RbRS485.Properties.RadioGroupIndex = 1; + this.RbRS485.Size = new System.Drawing.Size(140, 20); + this.RbRS485.StyleController = this.layoutControl1; + this.RbRS485.TabIndex = 18; + this.RbRS485.TabStop = false; + this.RbRS485.CheckStateChanged += new System.EventHandler(this.RbRS485_CheckStateChanged); + // + // CbSnmpModel + // + this.CbSnmpModel.EditValue = "LFPS-48100D"; + this.CbSnmpModel.Location = new System.Drawing.Point(146, 128); + this.CbSnmpModel.Name = "CbSnmpModel"; + this.CbSnmpModel.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.CbSnmpModel.Properties.Appearance.Options.UseFont = true; + this.CbSnmpModel.Properties.Appearance.Options.UseTextOptions = true; + this.CbSnmpModel.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.CbSnmpModel.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { + new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}); + this.CbSnmpModel.Properties.Items.AddRange(new object[] { + "LFPR-481000S-J"}); + this.CbSnmpModel.Size = new System.Drawing.Size(308, 24); + this.CbSnmpModel.StyleController = this.layoutControl1; + this.CbSnmpModel.TabIndex = 17; + // + // teTargetIP + // + this.teTargetIP.AllowInternalTab = false; + this.teTargetIP.AutoHeight = true; + this.teTargetIP.BackColor = System.Drawing.SystemColors.Window; + this.teTargetIP.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.teTargetIP.Cursor = System.Windows.Forms.Cursors.IBeam; + this.teTargetIP.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.teTargetIP.Location = new System.Drawing.Point(146, 98); + this.teTargetIP.MinimumSize = new System.Drawing.Size(117, 26); + this.teTargetIP.Name = "teTargetIP"; + this.teTargetIP.ReadOnly = false; + this.teTargetIP.Size = new System.Drawing.Size(308, 26); + this.teTargetIP.TabIndex = 16; + this.teTargetIP.Text = "192.168.0.200"; + // + // RbSnmp + // + this.RbSnmp.Location = new System.Drawing.Point(305, 37); + this.RbSnmp.Name = "RbSnmp"; + this.RbSnmp.Properties.Caption = "SNMP"; + this.RbSnmp.Properties.CheckBoxOptions.Style = DevExpress.XtraEditors.Controls.CheckBoxStyle.Radio; + this.RbSnmp.Properties.RadioGroupIndex = 1; + this.RbSnmp.Size = new System.Drawing.Size(141, 20); + this.RbSnmp.StyleController = this.layoutControl1; + this.RbSnmp.TabIndex = 15; + this.RbSnmp.TabStop = false; + this.RbSnmp.CheckedChanged += new System.EventHandler(this.RbSnmp_CheckedChanged); + // + // edRecvWaitTime + // + this.edRecvWaitTime.EditValue = "100"; + this.edRecvWaitTime.Location = new System.Drawing.Point(146, 269); + this.edRecvWaitTime.Name = "edRecvWaitTime"; + this.edRecvWaitTime.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.edRecvWaitTime.Properties.Appearance.Options.UseFont = true; + this.edRecvWaitTime.Properties.Appearance.Options.UseTextOptions = true; + this.edRecvWaitTime.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.edRecvWaitTime.Size = new System.Drawing.Size(308, 24); + this.edRecvWaitTime.StyleController = this.layoutControl1; + this.edRecvWaitTime.TabIndex = 14; + // + // cbUartModel + // + this.cbUartModel.EditValue = "LFPS-48100D"; + this.cbUartModel.Location = new System.Drawing.Point(146, 213); + this.cbUartModel.Name = "cbUartModel"; + this.cbUartModel.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.cbUartModel.Properties.Appearance.Options.UseFont = true; + this.cbUartModel.Properties.Appearance.Options.UseTextOptions = true; + this.cbUartModel.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.cbUartModel.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { + new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}); + this.cbUartModel.Properties.Items.AddRange(new object[] { + "LFPS-48100S-J"}); + this.cbUartModel.Size = new System.Drawing.Size(308, 24); + this.cbUartModel.StyleController = this.layoutControl1; + this.cbUartModel.TabIndex = 11; + // + // RbUart + // + this.RbUart.Location = new System.Drawing.Point(16, 37); + this.RbUart.Name = "RbUart"; + this.RbUart.Properties.Caption = "RS-232"; + this.RbUart.Properties.CheckStyle = DevExpress.XtraEditors.Controls.CheckStyles.Radio; + this.RbUart.Properties.RadioGroupIndex = 1; + this.RbUart.Size = new System.Drawing.Size(141, 20); + this.RbUart.StyleController = this.layoutControl1; + this.RbUart.TabIndex = 8; + this.RbUart.TabStop = false; + this.RbUart.CheckStateChanged += new System.EventHandler(this.RbUart_CheckStateChanged); + // + // cbUartPort + // + this.cbUartPort.EditValue = ""; + this.cbUartPort.Location = new System.Drawing.Point(146, 185); + this.cbUartPort.Name = "cbUartPort"; + this.cbUartPort.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.cbUartPort.Properties.Appearance.Options.UseFont = true; + this.cbUartPort.Properties.Appearance.Options.UseTextOptions = true; + this.cbUartPort.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.cbUartPort.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { + new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}); + this.cbUartPort.Size = new System.Drawing.Size(308, 24); + this.cbUartPort.StyleController = this.layoutControl1; + this.cbUartPort.TabIndex = 6; + // + // cbDbLogPeriod + // + this.cbDbLogPeriod.EditValue = "1"; + this.cbDbLogPeriod.Location = new System.Drawing.Point(145, 345); + this.cbDbLogPeriod.Name = "cbDbLogPeriod"; + this.cbDbLogPeriod.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.cbDbLogPeriod.Properties.Appearance.Options.UseFont = true; + this.cbDbLogPeriod.Properties.Appearance.Options.UseTextOptions = true; + this.cbDbLogPeriod.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.cbDbLogPeriod.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { + new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}); + this.cbDbLogPeriod.Properties.Items.AddRange(new object[] { + "1", + "5", + "10", + "15", + "30", + "60"}); + this.cbDbLogPeriod.Size = new System.Drawing.Size(310, 24); + this.cbDbLogPeriod.StyleController = this.layoutControl1; + this.cbDbLogPeriod.TabIndex = 9; + // + // btnClose + // + this.btnClose.Appearance.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btnClose.Appearance.Options.UseFont = true; + this.btnClose.Location = new System.Drawing.Point(233, 418); + this.btnClose.Name = "btnClose"; + this.btnClose.Size = new System.Drawing.Size(225, 36); + this.btnClose.StyleController = this.layoutControl1; + this.btnClose.TabIndex = 7; + this.btnClose.Text = "CLOSE"; + this.btnClose.Click += new System.EventHandler(this.btnClose_Click); + // + // btnSave + // + this.btnSave.Appearance.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btnSave.Appearance.Options.UseFont = true; + this.btnSave.Location = new System.Drawing.Point(4, 418); + this.btnSave.Name = "btnSave"; + this.btnSave.Size = new System.Drawing.Size(225, 36); + this.btnSave.StyleController = this.layoutControl1; + this.btnSave.TabIndex = 6; + this.btnSave.Text = "SAVE"; + this.btnSave.Click += new System.EventHandler(this.btnSave_Click); + // + // layoutControlGroup1 + // + this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1"; + this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup1.GroupBordersVisible = false; + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem12, + this.layoutControlItem13, + this.gbDbConfig, + this.emptySpaceItem2, + this.layoutControlGroup4, + this.LcGroupUart, + this.emptySpaceItem1, + this.LcGroupSnmp}); + this.layoutControlGroup1.Name = "Root"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2); + this.layoutControlGroup1.Size = new System.Drawing.Size(462, 458); + this.layoutControlGroup1.TextVisible = false; + // + // layoutControlItem12 + // + this.layoutControlItem12.Control = this.btnSave; + this.layoutControlItem12.CustomizationFormText = "layoutControlItem12"; + this.layoutControlItem12.Location = new System.Drawing.Point(0, 414); + this.layoutControlItem12.MaxSize = new System.Drawing.Size(0, 40); + this.layoutControlItem12.MinSize = new System.Drawing.Size(93, 40); + this.layoutControlItem12.Name = "layoutControlItem12"; + this.layoutControlItem12.Size = new System.Drawing.Size(229, 40); + this.layoutControlItem12.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem12.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem12.TextVisible = false; + // + // layoutControlItem13 + // + this.layoutControlItem13.Control = this.btnClose; + this.layoutControlItem13.CustomizationFormText = "layoutControlItem13"; + this.layoutControlItem13.Location = new System.Drawing.Point(229, 414); + this.layoutControlItem13.MaxSize = new System.Drawing.Size(0, 40); + this.layoutControlItem13.MinSize = new System.Drawing.Size(93, 40); + this.layoutControlItem13.Name = "layoutControlItem13"; + this.layoutControlItem13.Size = new System.Drawing.Size(229, 40); + this.layoutControlItem13.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem13.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem13.TextVisible = false; + // + // gbDbConfig + // + this.gbDbConfig.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.lbDbLogPeriod, + this.layoutControlItem15}); + this.gbDbConfig.Location = new System.Drawing.Point(0, 317); + this.gbDbConfig.Name = "gbDbConfig"; + this.gbDbConfig.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.gbDbConfig.Size = new System.Drawing.Size(458, 55); + this.gbDbConfig.Spacing = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.gbDbConfig.Text = "Database Config"; + // + // lbDbLogPeriod + // + this.lbDbLogPeriod.AllowHotTrack = false; + this.lbDbLogPeriod.Location = new System.Drawing.Point(0, 0); + this.lbDbLogPeriod.MinSize = new System.Drawing.Size(138, 18); + this.lbDbLogPeriod.Name = "lbDbLogPeriod"; + this.lbDbLogPeriod.Size = new System.Drawing.Size(138, 28); + this.lbDbLogPeriod.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lbDbLogPeriod.Text = " DB Log Period"; + this.lbDbLogPeriod.TextSize = new System.Drawing.Size(123, 14); + // + // layoutControlItem15 + // + this.layoutControlItem15.Control = this.cbDbLogPeriod; + this.layoutControlItem15.Location = new System.Drawing.Point(138, 0); + this.layoutControlItem15.MaxSize = new System.Drawing.Size(0, 28); + this.layoutControlItem15.MinSize = new System.Drawing.Size(54, 28); + this.layoutControlItem15.Name = "layoutControlItem15"; + this.layoutControlItem15.Size = new System.Drawing.Size(314, 28); + this.layoutControlItem15.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem15.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem15.TextVisible = false; + // + // emptySpaceItem2 + // + this.emptySpaceItem2.AllowHotTrack = false; + this.emptySpaceItem2.Location = new System.Drawing.Point(0, 372); + this.emptySpaceItem2.Name = "emptySpaceItem2"; + this.emptySpaceItem2.Size = new System.Drawing.Size(458, 42); + this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlGroup4 + // + this.layoutControlGroup4.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem3, + this.layoutControlItem7, + this.layoutControlItem5}); + this.layoutControlGroup4.Location = new System.Drawing.Point(0, 0); + this.layoutControlGroup4.Name = "layoutControlGroup4"; + this.layoutControlGroup4.Size = new System.Drawing.Size(458, 69); + this.layoutControlGroup4.Text = "Comm. Type"; + // + // layoutControlItem3 + // + this.layoutControlItem3.Control = this.RbUart; + this.layoutControlItem3.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem3.Name = "layoutControlItem3"; + this.layoutControlItem3.Size = new System.Drawing.Size(145, 24); + this.layoutControlItem3.Text = "Comm. Type"; + this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem3.TextVisible = false; + // + // layoutControlItem7 + // + this.layoutControlItem7.Control = this.RbSnmp; + this.layoutControlItem7.Location = new System.Drawing.Point(289, 0); + this.layoutControlItem7.Name = "layoutControlItem7"; + this.layoutControlItem7.Size = new System.Drawing.Size(145, 24); + this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem7.TextVisible = false; + // + // layoutControlItem5 + // + this.layoutControlItem5.Control = this.RbRS485; + this.layoutControlItem5.Location = new System.Drawing.Point(145, 0); + this.layoutControlItem5.Name = "layoutControlItem5"; + this.layoutControlItem5.Size = new System.Drawing.Size(144, 24); + this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem5.TextVisible = false; + // + // LcGroupUart + // + this.LcGroupUart.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.simpleLabelItem3, + this.layoutControlItem1, + this.simpleLabelItem4, + this.layoutControlItem4, + this.simpleLabelItem2, + this.layoutControlItem6, + this.layoutControlItem9, + this.simpleLabelItem5}); + this.LcGroupUart.Location = new System.Drawing.Point(0, 156); + this.LcGroupUart.Name = "LcGroupUart"; + this.LcGroupUart.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.LcGroupUart.Size = new System.Drawing.Size(458, 141); + this.LcGroupUart.Text = "RS-232 && RS-485 Config"; + // + // simpleLabelItem3 + // + this.simpleLabelItem3.AllowHotTrack = false; + this.simpleLabelItem3.Location = new System.Drawing.Point(0, 0); + this.simpleLabelItem3.MinSize = new System.Drawing.Size(138, 18); + this.simpleLabelItem3.Name = "simpleLabelItem3"; + this.simpleLabelItem3.Size = new System.Drawing.Size(138, 28); + this.simpleLabelItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.simpleLabelItem3.Text = " Serial Port"; + this.simpleLabelItem3.TextSize = new System.Drawing.Size(123, 14); + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.cbUartPort; + this.layoutControlItem1.Location = new System.Drawing.Point(138, 0); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(312, 28); + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // simpleLabelItem4 + // + this.simpleLabelItem4.AllowHotTrack = false; + this.simpleLabelItem4.Location = new System.Drawing.Point(0, 28); + this.simpleLabelItem4.MinSize = new System.Drawing.Size(138, 18); + this.simpleLabelItem4.Name = "simpleLabelItem4"; + this.simpleLabelItem4.Size = new System.Drawing.Size(138, 28); + this.simpleLabelItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.simpleLabelItem4.Text = " Model"; + this.simpleLabelItem4.TextSize = new System.Drawing.Size(123, 14); + // + // layoutControlItem4 + // + this.layoutControlItem4.Control = this.cbUartModel; + this.layoutControlItem4.Location = new System.Drawing.Point(138, 28); + this.layoutControlItem4.Name = "layoutControlItem4"; + this.layoutControlItem4.Size = new System.Drawing.Size(312, 28); + this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem4.TextVisible = false; + // + // simpleLabelItem2 + // + this.simpleLabelItem2.AllowHotTrack = false; + this.simpleLabelItem2.Location = new System.Drawing.Point(0, 84); + this.simpleLabelItem2.MinSize = new System.Drawing.Size(138, 18); + this.simpleLabelItem2.Name = "simpleLabelItem2"; + this.simpleLabelItem2.Size = new System.Drawing.Size(138, 28); + this.simpleLabelItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.simpleLabelItem2.Text = " Recv Wait Time (ms)"; + this.simpleLabelItem2.TextSize = new System.Drawing.Size(123, 14); + // + // layoutControlItem6 + // + this.layoutControlItem6.Control = this.edRecvWaitTime; + this.layoutControlItem6.Location = new System.Drawing.Point(138, 84); + this.layoutControlItem6.Name = "layoutControlItem6"; + this.layoutControlItem6.Size = new System.Drawing.Size(312, 28); + this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem6.TextVisible = false; + // + // emptySpaceItem1 + // + this.emptySpaceItem1.AllowHotTrack = false; + this.emptySpaceItem1.Location = new System.Drawing.Point(0, 297); + this.emptySpaceItem1.Name = "emptySpaceItem1"; + this.emptySpaceItem1.Size = new System.Drawing.Size(458, 20); + this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0); + // + // LcGroupSnmp + // + this.LcGroupSnmp.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem8, + this.simpleLabelItem6, + this.layoutControlItem2, + this.simpleLabelItem1}); + this.LcGroupSnmp.Location = new System.Drawing.Point(0, 69); + this.LcGroupSnmp.Name = "LcGroupSnmp"; + this.LcGroupSnmp.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.LcGroupSnmp.Size = new System.Drawing.Size(458, 87); + this.LcGroupSnmp.Text = "SNMP Config"; + // + // layoutControlItem8 + // + this.layoutControlItem8.Control = this.teTargetIP; + this.layoutControlItem8.Location = new System.Drawing.Point(138, 0); + this.layoutControlItem8.Name = "layoutControlItem8"; + this.layoutControlItem8.Size = new System.Drawing.Size(312, 30); + this.layoutControlItem8.Text = " IP Address"; + this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem8.TextVisible = false; + // + // simpleLabelItem6 + // + this.simpleLabelItem6.AllowHotTrack = false; + this.simpleLabelItem6.Location = new System.Drawing.Point(0, 0); + this.simpleLabelItem6.MaxSize = new System.Drawing.Size(0, 30); + this.simpleLabelItem6.MinSize = new System.Drawing.Size(138, 30); + this.simpleLabelItem6.Name = "simpleLabelItem6"; + this.simpleLabelItem6.Size = new System.Drawing.Size(138, 30); + this.simpleLabelItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.simpleLabelItem6.Text = " IP Address"; + this.simpleLabelItem6.TextSize = new System.Drawing.Size(123, 14); + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.CbSnmpModel; + this.layoutControlItem2.Location = new System.Drawing.Point(138, 30); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(312, 28); + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // simpleLabelItem1 + // + this.simpleLabelItem1.AllowHotTrack = false; + this.simpleLabelItem1.Location = new System.Drawing.Point(0, 30); + this.simpleLabelItem1.MaxSize = new System.Drawing.Size(0, 28); + this.simpleLabelItem1.MinSize = new System.Drawing.Size(127, 28); + this.simpleLabelItem1.Name = "simpleLabelItem1"; + this.simpleLabelItem1.Size = new System.Drawing.Size(138, 28); + this.simpleLabelItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.simpleLabelItem1.Text = " Model"; + this.simpleLabelItem1.TextSize = new System.Drawing.Size(123, 14); + // + // layoutControlGroup2 + // + this.layoutControlGroup2.CustomizationFormText = "layoutControlGroup2"; + this.layoutControlGroup2.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup2.GroupBordersVisible = false; + this.layoutControlGroup2.Location = new System.Drawing.Point(0, 0); + this.layoutControlGroup2.Name = "Root"; + this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5); + this.layoutControlGroup2.Size = new System.Drawing.Size(433, 34); + this.layoutControlGroup2.TextVisible = false; + // + // layoutControlGroup3 + // + this.layoutControlGroup3.CustomizationFormText = "layoutControlGroup3"; + this.layoutControlGroup3.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup3.GroupBordersVisible = false; + this.layoutControlGroup3.Location = new System.Drawing.Point(0, 0); + this.layoutControlGroup3.Name = "Root"; + this.layoutControlGroup3.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup3.Size = new System.Drawing.Size(433, 85); + this.layoutControlGroup3.TextVisible = false; + // + // CbModuleQty + // + this.CbModuleQty.EditValue = "1"; + this.CbModuleQty.Location = new System.Drawing.Point(146, 241); + this.CbModuleQty.Name = "CbModuleQty"; + this.CbModuleQty.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.CbModuleQty.Properties.Appearance.Options.UseFont = true; + this.CbModuleQty.Properties.Appearance.Options.UseTextOptions = true; + this.CbModuleQty.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.CbModuleQty.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { + new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}); + this.CbModuleQty.Size = new System.Drawing.Size(308, 24); + this.CbModuleQty.StyleController = this.layoutControl1; + this.CbModuleQty.TabIndex = 19; + // + // layoutControlItem9 + // + this.layoutControlItem9.Control = this.CbModuleQty; + this.layoutControlItem9.Location = new System.Drawing.Point(138, 56); + this.layoutControlItem9.MinSize = new System.Drawing.Size(55, 28); + this.layoutControlItem9.Name = "layoutControlItem9"; + this.layoutControlItem9.Size = new System.Drawing.Size(312, 28); + this.layoutControlItem9.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem9.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem9.TextVisible = false; + // + // simpleLabelItem5 + // + this.simpleLabelItem5.AllowHotTrack = false; + this.simpleLabelItem5.Location = new System.Drawing.Point(0, 56); + this.simpleLabelItem5.MaxSize = new System.Drawing.Size(0, 28); + this.simpleLabelItem5.MinSize = new System.Drawing.Size(127, 28); + this.simpleLabelItem5.Name = "simpleLabelItem5"; + this.simpleLabelItem5.Size = new System.Drawing.Size(138, 28); + this.simpleLabelItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.simpleLabelItem5.Text = " Module Q\'ty"; + this.simpleLabelItem5.TextSize = new System.Drawing.Size(123, 14); + // + // ucCommConfig + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.layoutControl1); + this.Name = "ucCommConfig"; + this.Size = new System.Drawing.Size(462, 458); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.RbRS485.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.CbSnmpModel.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.RbSnmp.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.edRecvWaitTime.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.cbUartModel.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.RbUart.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.cbUartPort.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.cbDbLogPeriod.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbDbConfig)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbDbLogPeriod)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem15)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.LcGroupUart)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.LcGroupSnmp)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.CbModuleQty.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem5)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraEditors.SimpleButton btnClose; + private DevExpress.XtraEditors.SimpleButton btnSave; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem12; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem13; + private DevExpress.XtraEditors.ComboBoxEdit cbDbLogPeriod; + private DevExpress.XtraLayout.LayoutControlGroup gbDbConfig; + private DevExpress.XtraLayout.SimpleLabelItem lbDbLogPeriod; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem15; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2; + private DevExpress.XtraEditors.ComboBoxEdit cbUartPort; + private DevExpress.XtraEditors.CheckEdit RbUart; + private DevExpress.XtraEditors.ComboBoxEdit cbUartModel; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup4; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private DevExpress.XtraLayout.LayoutControlGroup LcGroupUart; + private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem3; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem4; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem2; + private DevExpress.XtraEditors.TextEdit edRecvWaitTime; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6; + private DevExpress.XtraEditors.CheckEdit RbSnmp; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7; + private IPAddressControlLib.IPAddressControl teTargetIP; + private DevExpress.XtraLayout.LayoutControlGroup LcGroupSnmp; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8; + private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem6; + private DevExpress.XtraEditors.ComboBoxEdit CbSnmpModel; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem1; + private DevExpress.XtraEditors.CheckEdit RbRS485; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5; + private DevExpress.XtraEditors.ComboBoxEdit CbModuleQty; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9; + private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem5; + } +} diff --git a/LFP_Manager/Controls/ucCommConfig.cs b/LFP_Manager/Controls/ucCommConfig.cs new file mode 100644 index 0000000..3cdbc07 --- /dev/null +++ b/LFP_Manager/Controls/ucCommConfig.cs @@ -0,0 +1,237 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Text; +using System.Linq; +using System.Windows.Forms; +using DevExpress.XtraEditors; + +using System.Runtime.InteropServices; +using System.IO; +using System.IO.Ports; + +using LFP_Manager.DataStructure; +using LFP_Manager.Function; +using System.Data.Entity.Infrastructure; + +namespace LFP_Manager.Controls +{ + public partial class ucCommConfig : DevExpress.XtraEditors.XtraUserControl + { + #region EVENT + + public delegate void CloseEvent(object aConfig, bool saved); + + #endregion + + #region VARIABLES + + CommConfig Config = new CommConfig(); + public event CloseEvent OnClose = null; + + DataTable dtComport = new DataTable(); + private bool saved = false; + + #endregion + + #region CONSTRUCTORS + + public ucCommConfig() + { + InitializeComponent(); + + CommPortLoad(); + + IniLoad(); + } + + private void InitComportDataTable() + { + dtComport = new DataTable(); + dtComport.Columns.Add("name", typeof(string)); + dtComport.Columns.Add("name2", typeof(string)); + } + + #endregion + + #region DATA LOAD AND SAVE + + private void CommPortLoad() + { + bool found = false; + int ComId = 0; + + InitComportDataTable(); + foreach (string comport in SerialPort.GetPortNames()) + { + DataRow aRow = dtComport.NewRow(); + aRow["name"] = comport; + dtComport.Rows.Add(aRow); + } + + for (int i = 0; i < dtComport.Rows.Count; i++) + { + cbUartPort.Properties.Items.Add(dtComport.Rows[i]["name"].ToString()); + } + + if (Config.UartPort != "") + { + for (int i = 0; i < cbUartPort.Properties.Items.Count; i++) + { + if (dtComport.Rows[i]["name"].ToString() == Config.UartPort) + { + found = true; + ComId = i; + break; + } + } + } + + if (found) + { + cbUartPort.SelectedIndex = ComId; + Config.UartPort = cbUartPort.Properties.Items[ComId].ToString(); + } + else + { + if (cbUartPort.Properties.Items.Count > 0) + { + cbUartPort.SelectedIndex = 0; + } + } + } + + private void IniLoad() + { + csIniControlFunction.IniLoad(Application.ExecutablePath, ref Config); + + cbUartModel.Properties.Items.Clear(); + CbSnmpModel.Properties.Items.Clear(); + foreach (string m_name in csConstData.UART_MODEL) + { + cbUartModel.Properties.Items.Add(m_name); + CbSnmpModel.Properties.Items.Add(m_name); + } + CbModuleQty.Properties.Items.Clear(); + for (int i = 0; i < csConstData.SystemInfo.MAX_MODULE_SIZE; i++) + { + CbModuleQty.Properties.Items.Add(string.Format("{0}", i + 1)); + } + + switch (Config.CommType) + { + case csConstData.CommType.COMM_UART: + RbUart.Checked = true; + break; + case csConstData.CommType.COMM_RS485: + RbRS485.Checked = true; + break; + case csConstData.CommType.COMM_SNMP: + RbSnmp.Checked = true; + break; + default: + RbUart.Checked = true; + break; + } + + if (Config.SnmpIP == "") + { Config.SnmpIP = teTargetIP.Text; } + teTargetIP.Text = Config.SnmpIP; + CbSnmpModel.SelectedIndex = Config.SnmpModelIndex; + + cbUartPort.Text = Config.UartPort; + cbUartModel.SelectedIndex = Config.UartModelIndex; + CbModuleQty.Text = string.Format("{0}", Config.ModuleQty); + edRecvWaitTime.Text = string.Format("{0}", Config.RecvWaitTime); + + cbDbLogPeriod.Text = Config.DbLogPeriod.ToString(); + } + + private void IniSave() + { + if (RbUart.Checked) + { + Config.CommType = csConstData.CommType.COMM_UART; + } + else if (RbRS485.Checked) + { + Config.CommType = csConstData.CommType.COMM_RS485; + } + else if (RbSnmp.Checked) + { + Config.CommType = csConstData.CommType.COMM_SNMP; + } + + try + { + Config.SnmpIP = teTargetIP.Text; + Config.SnmpModelIndex = CbSnmpModel.SelectedIndex; + + Config.UartPort = cbUartPort.Text; + Config.UartModelIndex = cbUartModel.SelectedIndex; + Config.ModuleQty = Convert.ToInt32(CbModuleQty.Text); + Config.RecvWaitTime = Convert.ToInt32(edRecvWaitTime.Text); + + Config.DbLogPeriod = Convert.ToInt32(cbDbLogPeriod.Text); + + csIniControlFunction.IniSave(Application.ExecutablePath, Config); + + saved = true; + } + catch (Exception) + { + MessageBox.Show("Save fail - Please check config", "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + #endregion + + #region BUTTON EVENT + private void btnClose_Click(object sender, EventArgs e) + { + OnClose?.Invoke(Config, saved); + } + + private void btnSave_Click(object sender, EventArgs e) + { + IniSave(); + } + #endregion + + #region COMPONENT EVENT + private void RbUart_CheckStateChanged(object sender, EventArgs e) + { + if (RbUart.Checked) + { + LcGroupUart.Enabled = true; + LcGroupSnmp.Enabled = false; + CbModuleQty.Enabled = false; + CbModuleQty.Text = "1"; + } + } + + private void RbRS485_CheckStateChanged(object sender, EventArgs e) + { + if (RbRS485.Checked) + { + LcGroupUart.Enabled = true; + LcGroupSnmp.Enabled = false; + CbModuleQty.Enabled = true; + } + } + + private void RbSnmp_CheckedChanged(object sender, EventArgs e) + { + if (RbSnmp.Checked) + { + LcGroupUart.Enabled = false; + LcGroupSnmp.Enabled = true; + CbModuleQty.Enabled = true; + CbModuleQty.Text = "1"; + } + } + #endregion + } +} diff --git a/LFP_Manager/Controls/ucCommConfig.resx b/LFP_Manager/Controls/ucCommConfig.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/LFP_Manager/Controls/ucCommConfig.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/LFP_Manager/Controls/ucDataLog.Designer.cs b/LFP_Manager/Controls/ucDataLog.Designer.cs new file mode 100644 index 0000000..e2dd28d --- /dev/null +++ b/LFP_Manager/Controls/ucDataLog.Designer.cs @@ -0,0 +1,257 @@ +namespace LFP_Manager.Controls +{ + partial class ucDataLog + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.gbDataLog = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl6 = new DevExpress.XtraLayout.LayoutControl(); + this.btnOpenLogFolder = new DevExpress.XtraEditors.SimpleButton(); + this.btnLogStart = new DevExpress.XtraEditors.SimpleButton(); + this.cbLogTime = new DevExpress.XtraEditors.ComboBoxEdit(); + this.layoutControlGroup6 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.lcitemLogTime = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem13 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.tmrLogging = new System.Windows.Forms.Timer(this.components); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.gbDataLog)).BeginInit(); + this.gbDataLog.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl6)).BeginInit(); + this.layoutControl6.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.cbLogTime.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemLogTime)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.AllowCustomization = false; + this.layoutControl1.Controls.Add(this.gbDataLog); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.Root = this.layoutControlGroup1; + this.layoutControl1.Size = new System.Drawing.Size(354, 204); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // gbDataLog + // + this.gbDataLog.Controls.Add(this.layoutControl6); + this.gbDataLog.Location = new System.Drawing.Point(3, 3); + this.gbDataLog.Name = "gbDataLog"; + this.gbDataLog.Size = new System.Drawing.Size(348, 198); + this.gbDataLog.TabIndex = 9; + this.gbDataLog.Text = "Data Logging"; + // + // layoutControl6 + // + this.layoutControl6.AllowCustomization = false; + this.layoutControl6.Controls.Add(this.btnOpenLogFolder); + this.layoutControl6.Controls.Add(this.btnLogStart); + this.layoutControl6.Controls.Add(this.cbLogTime); + this.layoutControl6.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl6.Location = new System.Drawing.Point(2, 23); + this.layoutControl6.Name = "layoutControl6"; + this.layoutControl6.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1209, 389, 250, 350); + this.layoutControl6.Root = this.layoutControlGroup6; + this.layoutControl6.Size = new System.Drawing.Size(344, 173); + this.layoutControl6.TabIndex = 0; + this.layoutControl6.Text = "layoutControl6"; + // + // btnOpenLogFolder + // + this.btnOpenLogFolder.Location = new System.Drawing.Point(3, 109); + this.btnOpenLogFolder.Name = "btnOpenLogFolder"; + this.btnOpenLogFolder.Size = new System.Drawing.Size(338, 61); + this.btnOpenLogFolder.StyleController = this.layoutControl6; + this.btnOpenLogFolder.TabIndex = 6; + this.btnOpenLogFolder.Text = "Open Log Folder"; + this.btnOpenLogFolder.Click += new System.EventHandler(this.btnOpenLogFolder_Click); + // + // btnLogStart + // + this.btnLogStart.Location = new System.Drawing.Point(3, 36); + this.btnLogStart.Name = "btnLogStart"; + this.btnLogStart.Size = new System.Drawing.Size(338, 69); + this.btnLogStart.StyleController = this.layoutControl6; + this.btnLogStart.TabIndex = 5; + this.btnLogStart.Text = "Log Start"; + this.btnLogStart.Click += new System.EventHandler(this.btnLogStart_Click); + // + // cbLogTime + // + this.cbLogTime.EditValue = "5"; + this.cbLogTime.Location = new System.Drawing.Point(68, 3); + this.cbLogTime.Name = "cbLogTime"; + this.cbLogTime.Properties.Appearance.Options.UseTextOptions = true; + this.cbLogTime.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.cbLogTime.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { + new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}); + this.cbLogTime.Properties.Items.AddRange(new object[] { + "1", + "5", + "10", + "15", + "30", + "60"}); + this.cbLogTime.Size = new System.Drawing.Size(273, 20); + this.cbLogTime.StyleController = this.layoutControl6; + this.cbLogTime.TabIndex = 4; + // + // layoutControlGroup6 + // + this.layoutControlGroup6.CustomizationFormText = "layoutControlGroup6"; + this.layoutControlGroup6.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup6.GroupBordersVisible = false; + this.layoutControlGroup6.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.lcitemLogTime, + this.layoutControlItem13, + this.layoutControlItem12}); + this.layoutControlGroup6.Name = "layoutControlGroup6"; + this.layoutControlGroup6.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup6.Size = new System.Drawing.Size(344, 173); + this.layoutControlGroup6.TextVisible = false; + // + // lcitemLogTime + // + this.lcitemLogTime.AppearanceItemCaption.Options.UseTextOptions = true; + this.lcitemLogTime.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.lcitemLogTime.Control = this.cbLogTime; + this.lcitemLogTime.CustomizationFormText = "Log Time"; + this.lcitemLogTime.Location = new System.Drawing.Point(0, 0); + this.lcitemLogTime.MinSize = new System.Drawing.Size(119, 24); + this.lcitemLogTime.Name = "lcitemLogTime"; + this.lcitemLogTime.Size = new System.Drawing.Size(342, 33); + this.lcitemLogTime.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcitemLogTime.Text = "Log Time"; + this.lcitemLogTime.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.lcitemLogTime.TextSize = new System.Drawing.Size(60, 20); + this.lcitemLogTime.TextToControlDistance = 5; + // + // layoutControlItem13 + // + this.layoutControlItem13.Control = this.btnLogStart; + this.layoutControlItem13.CustomizationFormText = "layoutControlItem13"; + this.layoutControlItem13.Location = new System.Drawing.Point(0, 33); + this.layoutControlItem13.MinSize = new System.Drawing.Size(93, 26); + this.layoutControlItem13.Name = "layoutControlItem13"; + this.layoutControlItem13.Size = new System.Drawing.Size(342, 73); + this.layoutControlItem13.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem13.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem13.TextVisible = false; + // + // layoutControlItem12 + // + this.layoutControlItem12.Control = this.btnOpenLogFolder; + this.layoutControlItem12.CustomizationFormText = "layoutControlItem12"; + this.layoutControlItem12.Location = new System.Drawing.Point(0, 106); + this.layoutControlItem12.MinSize = new System.Drawing.Size(93, 26); + this.layoutControlItem12.Name = "layoutControlItem12"; + this.layoutControlItem12.Size = new System.Drawing.Size(342, 65); + this.layoutControlItem12.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem12.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem12.TextVisible = false; + // + // layoutControlGroup1 + // + this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1"; + this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup1.GroupBordersVisible = false; + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem1}); + this.layoutControlGroup1.Name = "layoutControlGroup1"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup1.Size = new System.Drawing.Size(354, 204); + this.layoutControlGroup1.TextVisible = false; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.gbDataLog; + this.layoutControlItem1.CustomizationFormText = "layoutControlItem1"; + this.layoutControlItem1.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(352, 202); + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // tmrLogging + // + this.tmrLogging.Interval = 500; + this.tmrLogging.Tick += new System.EventHandler(this.tmrLogging_Tick); + // + // ucDataLog + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.layoutControl1); + this.Name = "ucDataLog"; + this.Size = new System.Drawing.Size(354, 204); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.gbDataLog)).EndInit(); + this.gbDataLog.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl6)).EndInit(); + this.layoutControl6.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.cbLogTime.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemLogTime)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraEditors.GroupControl gbDataLog; + private DevExpress.XtraLayout.LayoutControl layoutControl6; + private DevExpress.XtraEditors.SimpleButton btnOpenLogFolder; + private DevExpress.XtraEditors.SimpleButton btnLogStart; + private DevExpress.XtraEditors.ComboBoxEdit cbLogTime; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup6; + private DevExpress.XtraLayout.LayoutControlItem lcitemLogTime; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem13; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem12; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private System.Windows.Forms.Timer tmrLogging; + } +} diff --git a/LFP_Manager/Controls/ucDataLog.cs b/LFP_Manager/Controls/ucDataLog.cs new file mode 100644 index 0000000..b8c3ee1 --- /dev/null +++ b/LFP_Manager/Controls/ucDataLog.cs @@ -0,0 +1,154 @@ +using LFP_Manager.DataStructure; +using LFP_Manager.Utils; +using System; +using System.Windows.Forms; + +namespace LFP_Manager.Controls +{ + public delegate void LogDataUpdate(object sender, string LogResult, bool active, int aLogTime); + + public partial class ucDataLog : DevExpress.XtraEditors.XtraUserControl + { + #region VARIABLES + + private CommConfig Config; + CsDeviceData DeviceData; + private DateTime bakDateTime; + + private int ModuleID = 1; + + private string LogFileName = ""; + private string LogFileNameTotal = ""; + + private bool logging = false; + private bool Active = false; + + public event LogDataUpdate OnUpdate = null; + + #endregion + + #region CONSTRUCTORS + + public ucDataLog() + { + InitializeComponent(); + } + + #endregion + + #region PUBLIC UPDATE + + public void UpdateActiveStatus(bool aStatus, CommConfig aConfig, ref CsDeviceData aDeviceData) + { + Active = aStatus; + Config = aConfig; + DeviceData = aDeviceData; + } + + public void UpdateData(CsDeviceData aDeviceData) + { + DeviceData = aDeviceData; + } + + #endregion + + #region TIMER EVENT + + private void tmrLogging_Tick(object sender, EventArgs e) + { + DateTime cDate = DateTime.Now; + int ss; + + if ((logging) && (Active)) + { + ss = Convert.ToInt16(cbLogTime.Text); + + if ( + ((bakDateTime.Minute != cDate.Minute) + || (bakDateTime.Second != cDate.Second)) + && ((cDate.Second % ss) == 0) + ) + { + try + { + switch (Config.CommType) + { + case csConstData.CommType.COMM_UART: + csLog.SystemDataLog(ModuleID, Config, DeviceData.ModuleData[ModuleID - 1], cDate, Application.ExecutablePath, LogFileName); + break; + case csConstData.CommType.COMM_RS485: + if (Config.ModuleQty > 1) + { + for (int i = 0; i < Config.ModuleQty; i++) + { + csLog.SystemDataLog(i + 1, Config, DeviceData.ModuleData[i], cDate, Application.ExecutablePath, LogFileName); + } + } + else + { + csLog.SystemDataLog(ModuleID, Config, DeviceData.ModuleData[ModuleID - 1], cDate, Application.ExecutablePath, LogFileName); + } + break; + case csConstData.CommType.COMM_SNMP: + csLog.SystemDataLog(1, Config, DeviceData.ModuleData[0], cDate, Application.ExecutablePath, LogFileName); + break; + default: + break; + } + bakDateTime = cDate; + } + catch (Exception) + { + } + } + } + } + + #endregion + + #region BUTTON EVENT + + private void btnLogStart_Click(object sender, EventArgs e) + { + if (logging == true) + { + tmrLogging.Stop(); + cbLogTime.Enabled = true; + logging = false; + btnLogStart.Text = "Log Start"; + + if (OnUpdate != null) + { + OnUpdate(this, String.Format("LogStop: {0:yyyy/MM/dd HH:mm:ss}", DateTime.Now), false, Convert.ToInt16(cbLogTime.Text)); + } + } + else + { + LogFileNameTotal = String.Format("{0:yyMMddHHmmss}", DateTime.Now); + LogFileName = String.Format("{0:yyMMddHHmmss}", DateTime.Now); + tmrLogging.Start(); + cbLogTime.Enabled = false; + logging = true; + btnLogStart.Text = "Log Stop"; + + if (OnUpdate != null) + { + OnUpdate(this, String.Format("Logging: SHELFX_LOG_{0}.csv", LogFileName), true, Convert.ToInt16(cbLogTime.Text)); + } + } + } + + private void btnOpenLogFolder_Click(object sender, EventArgs e) + { + System.Diagnostics.Process ps = new System.Diagnostics.Process(); + ps.StartInfo.FileName = "explorer.exe"; + ps.StartInfo.Arguments = csLog.GetLogFolder(Application.ExecutablePath); + ps.StartInfo.WorkingDirectory = csLog.GetLogFolder(Application.ExecutablePath); + ps.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal; + + ps.Start(); + } + + #endregion + } +} diff --git a/LFP_Manager/Controls/ucDataLog.resx b/LFP_Manager/Controls/ucDataLog.resx new file mode 100644 index 0000000..92c9522 --- /dev/null +++ b/LFP_Manager/Controls/ucDataLog.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/LFP_Manager/Controls/ucEventLog.Designer.cs b/LFP_Manager/Controls/ucEventLog.Designer.cs new file mode 100644 index 0000000..0b3b330 --- /dev/null +++ b/LFP_Manager/Controls/ucEventLog.Designer.cs @@ -0,0 +1,467 @@ +namespace LFP_Manager.Controls +{ + partial class ucEventLog + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.gcLogging = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl2 = new DevExpress.XtraLayout.LayoutControl(); + this.tabDataLog = new DevExpress.XtraTab.XtraTabControl(); + this.TpEventLog = new DevExpress.XtraTab.XtraTabPage(); + this.layoutControl4 = new DevExpress.XtraLayout.LayoutControl(); + this.BtnRefresh = new DevExpress.XtraEditors.SimpleButton(); + this.GvAlarmHistory = new System.Windows.Forms.DataGridView(); + this.layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem(); + this.tpDataLog = new DevExpress.XtraTab.XtraTabPage(); + this.panelControl1 = new DevExpress.XtraEditors.PanelControl(); + this.layoutControl3 = new DevExpress.XtraLayout.LayoutControl(); + this.CbPrintID = new DevExpress.XtraEditors.ComboBoxEdit(); + this.btnLogClear = new DevExpress.XtraEditors.SimpleButton(); + this.meDataLog = new DevExpress.XtraEditors.MemoEdit(); + this.chkPacketLog = new DevExpress.XtraEditors.CheckEdit(); + this.Root = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.gcLogging)).BeginInit(); + this.gcLogging.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).BeginInit(); + this.layoutControl2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.tabDataLog)).BeginInit(); + this.tabDataLog.SuspendLayout(); + this.TpEventLog.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl4)).BeginInit(); + this.layoutControl4.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.GvAlarmHistory)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit(); + this.tpDataLog.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.panelControl1)).BeginInit(); + this.panelControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).BeginInit(); + this.layoutControl3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.CbPrintID.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.meDataLog.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.chkPacketLog.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.AllowCustomization = false; + this.layoutControl1.Controls.Add(this.gcLogging); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(302, 140, 250, 350); + this.layoutControl1.Root = this.layoutControlGroup1; + this.layoutControl1.Size = new System.Drawing.Size(799, 173); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // gcLogging + // + this.gcLogging.Controls.Add(this.layoutControl2); + this.gcLogging.Location = new System.Drawing.Point(3, 3); + this.gcLogging.Name = "gcLogging"; + this.gcLogging.Size = new System.Drawing.Size(793, 167); + this.gcLogging.TabIndex = 6; + this.gcLogging.Text = "Event"; + // + // layoutControl2 + // + this.layoutControl2.AllowCustomization = false; + this.layoutControl2.Controls.Add(this.tabDataLog); + this.layoutControl2.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl2.Location = new System.Drawing.Point(2, 23); + this.layoutControl2.Name = "layoutControl2"; + this.layoutControl2.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1234, 235, 250, 350); + this.layoutControl2.Root = this.layoutControlGroup2; + this.layoutControl2.Size = new System.Drawing.Size(789, 142); + this.layoutControl2.TabIndex = 0; + this.layoutControl2.Text = "layoutControl2"; + // + // tabDataLog + // + this.tabDataLog.Location = new System.Drawing.Point(4, 4); + this.tabDataLog.Name = "tabDataLog"; + this.tabDataLog.SelectedTabPage = this.TpEventLog; + this.tabDataLog.Size = new System.Drawing.Size(781, 134); + this.tabDataLog.TabIndex = 4; + this.tabDataLog.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] { + this.TpEventLog, + this.tpDataLog}); + // + // TpEventLog + // + this.TpEventLog.Controls.Add(this.layoutControl4); + this.TpEventLog.Name = "TpEventLog"; + this.TpEventLog.Size = new System.Drawing.Size(779, 108); + this.TpEventLog.Text = "Event"; + // + // layoutControl4 + // + this.layoutControl4.Controls.Add(this.BtnRefresh); + this.layoutControl4.Controls.Add(this.GvAlarmHistory); + this.layoutControl4.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl4.Location = new System.Drawing.Point(0, 0); + this.layoutControl4.Name = "layoutControl4"; + this.layoutControl4.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1039, 0, 647, 400); + this.layoutControl4.Root = this.layoutControlGroup3; + this.layoutControl4.Size = new System.Drawing.Size(779, 108); + this.layoutControl4.TabIndex = 0; + this.layoutControl4.Text = "layoutControl4"; + // + // BtnRefresh + // + this.BtnRefresh.Location = new System.Drawing.Point(691, 3); + this.BtnRefresh.Name = "BtnRefresh"; + this.BtnRefresh.Size = new System.Drawing.Size(85, 102); + this.BtnRefresh.StyleController = this.layoutControl4; + this.BtnRefresh.TabIndex = 5; + this.BtnRefresh.Text = "Refresh"; + this.BtnRefresh.Click += new System.EventHandler(this.BtnRefresh_Click); + // + // GvAlarmHistory + // + this.GvAlarmHistory.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.GvAlarmHistory.Location = new System.Drawing.Point(3, 3); + this.GvAlarmHistory.Name = "GvAlarmHistory"; + this.GvAlarmHistory.RowTemplate.Height = 23; + this.GvAlarmHistory.Size = new System.Drawing.Size(684, 102); + this.GvAlarmHistory.TabIndex = 4; + // + // layoutControlGroup3 + // + this.layoutControlGroup3.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup3.GroupBordersVisible = false; + this.layoutControlGroup3.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem5, + this.layoutControlItem7}); + this.layoutControlGroup3.Name = "Root"; + this.layoutControlGroup3.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup3.Size = new System.Drawing.Size(779, 108); + this.layoutControlGroup3.TextVisible = false; + // + // layoutControlItem5 + // + this.layoutControlItem5.Control = this.GvAlarmHistory; + this.layoutControlItem5.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem5.Name = "layoutControlItem5"; + this.layoutControlItem5.Size = new System.Drawing.Size(688, 106); + this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem5.TextVisible = false; + // + // layoutControlItem7 + // + this.layoutControlItem7.Control = this.BtnRefresh; + this.layoutControlItem7.Location = new System.Drawing.Point(688, 0); + this.layoutControlItem7.MinSize = new System.Drawing.Size(89, 26); + this.layoutControlItem7.Name = "layoutControlItem7"; + this.layoutControlItem7.Size = new System.Drawing.Size(89, 106); + this.layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem7.TextVisible = false; + // + // tpDataLog + // + this.tpDataLog.Controls.Add(this.panelControl1); + this.tpDataLog.Name = "tpDataLog"; + this.tpDataLog.Size = new System.Drawing.Size(779, 108); + this.tpDataLog.Text = "Data Log"; + // + // panelControl1 + // + this.panelControl1.Controls.Add(this.layoutControl3); + this.panelControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.panelControl1.Location = new System.Drawing.Point(0, 0); + this.panelControl1.Name = "panelControl1"; + this.panelControl1.Size = new System.Drawing.Size(779, 108); + this.panelControl1.TabIndex = 0; + // + // layoutControl3 + // + this.layoutControl3.Controls.Add(this.CbPrintID); + this.layoutControl3.Controls.Add(this.btnLogClear); + this.layoutControl3.Controls.Add(this.meDataLog); + this.layoutControl3.Controls.Add(this.chkPacketLog); + this.layoutControl3.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl3.Location = new System.Drawing.Point(2, 2); + this.layoutControl3.Name = "layoutControl3"; + this.layoutControl3.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(950, 0, 650, 400); + this.layoutControl3.Root = this.Root; + this.layoutControl3.Size = new System.Drawing.Size(775, 104); + this.layoutControl3.TabIndex = 0; + this.layoutControl3.Text = "layoutControl3"; + // + // CbPrintID + // + this.CbPrintID.EditValue = "0"; + this.CbPrintID.Location = new System.Drawing.Point(696, 27); + this.CbPrintID.Name = "CbPrintID"; + this.CbPrintID.Properties.Appearance.Options.UseTextOptions = true; + this.CbPrintID.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.CbPrintID.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { + new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}); + this.CbPrintID.Properties.Items.AddRange(new object[] { + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10"}); + this.CbPrintID.Size = new System.Drawing.Size(76, 20); + this.CbPrintID.StyleController = this.layoutControl3; + this.CbPrintID.TabIndex = 7; + this.CbPrintID.SelectedValueChanged += new System.EventHandler(this.CbPrintID_SelectedValueChanged); + // + // btnLogClear + // + this.btnLogClear.Location = new System.Drawing.Point(668, 51); + this.btnLogClear.Name = "btnLogClear"; + this.btnLogClear.Size = new System.Drawing.Size(104, 50); + this.btnLogClear.StyleController = this.layoutControl3; + this.btnLogClear.TabIndex = 6; + this.btnLogClear.Text = "Clear"; + this.btnLogClear.Click += new System.EventHandler(this.btnLogClear_Click); + // + // meDataLog + // + this.meDataLog.Location = new System.Drawing.Point(3, 3); + this.meDataLog.Name = "meDataLog"; + this.meDataLog.Properties.MaxLength = 1000; + this.meDataLog.Size = new System.Drawing.Size(661, 98); + this.meDataLog.StyleController = this.layoutControl3; + this.meDataLog.TabIndex = 4; + // + // chkPacketLog + // + this.chkPacketLog.Location = new System.Drawing.Point(668, 3); + this.chkPacketLog.Name = "chkPacketLog"; + this.chkPacketLog.Properties.Caption = "Packet"; + this.chkPacketLog.Size = new System.Drawing.Size(104, 20); + this.chkPacketLog.StyleController = this.layoutControl3; + this.chkPacketLog.TabIndex = 6; + // + // Root + // + this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.Root.GroupBordersVisible = false; + this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem2, + this.layoutControlItem3, + this.layoutControlItem4, + this.layoutControlItem8}); + this.Root.Name = "Root"; + this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.Root.Size = new System.Drawing.Size(775, 104); + this.Root.TextVisible = false; + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.meDataLog; + this.layoutControlItem2.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(665, 102); + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // layoutControlItem3 + // + this.layoutControlItem3.Control = this.btnLogClear; + this.layoutControlItem3.Location = new System.Drawing.Point(665, 48); + this.layoutControlItem3.MinSize = new System.Drawing.Size(37, 26); + this.layoutControlItem3.Name = "layoutControlItem3"; + this.layoutControlItem3.Size = new System.Drawing.Size(108, 54); + this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem3.TextVisible = false; + // + // layoutControlItem4 + // + this.layoutControlItem4.Control = this.chkPacketLog; + this.layoutControlItem4.Location = new System.Drawing.Point(665, 0); + this.layoutControlItem4.Name = "layoutControlItem4"; + this.layoutControlItem4.Size = new System.Drawing.Size(108, 24); + this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem4.TextVisible = false; + // + // layoutControlItem8 + // + this.layoutControlItem8.Control = this.CbPrintID; + this.layoutControlItem8.Location = new System.Drawing.Point(665, 24); + this.layoutControlItem8.MinSize = new System.Drawing.Size(100, 24); + this.layoutControlItem8.Name = "layoutControlItem8"; + this.layoutControlItem8.Size = new System.Drawing.Size(108, 24); + this.layoutControlItem8.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem8.Text = " ID"; + this.layoutControlItem8.TextSize = new System.Drawing.Size(16, 14); + // + // layoutControlGroup2 + // + this.layoutControlGroup2.CustomizationFormText = "layoutControlGroup2"; + this.layoutControlGroup2.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup2.GroupBordersVisible = false; + this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem6}); + this.layoutControlGroup2.Name = "layoutControlGroup2"; + this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2); + this.layoutControlGroup2.Size = new System.Drawing.Size(789, 142); + this.layoutControlGroup2.TextVisible = false; + // + // layoutControlItem6 + // + this.layoutControlItem6.Control = this.tabDataLog; + this.layoutControlItem6.CustomizationFormText = "layoutControlItem6"; + this.layoutControlItem6.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem6.MinSize = new System.Drawing.Size(104, 24); + this.layoutControlItem6.Name = "layoutControlItem6"; + this.layoutControlItem6.Size = new System.Drawing.Size(785, 138); + this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem6.TextVisible = false; + // + // layoutControlGroup1 + // + this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1"; + this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup1.GroupBordersVisible = false; + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem1}); + this.layoutControlGroup1.Name = "layoutControlGroup1"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup1.Size = new System.Drawing.Size(799, 173); + this.layoutControlGroup1.TextVisible = false; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.gcLogging; + this.layoutControlItem1.CustomizationFormText = "layoutControlItem1"; + this.layoutControlItem1.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(797, 171); + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // ucEventLog + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.layoutControl1); + this.Name = "ucEventLog"; + this.Size = new System.Drawing.Size(799, 173); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.gcLogging)).EndInit(); + this.gcLogging.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).EndInit(); + this.layoutControl2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.tabDataLog)).EndInit(); + this.tabDataLog.ResumeLayout(false); + this.TpEventLog.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl4)).EndInit(); + this.layoutControl4.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.GvAlarmHistory)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit(); + this.tpDataLog.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.panelControl1)).EndInit(); + this.panelControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).EndInit(); + this.layoutControl3.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.CbPrintID.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.meDataLog.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.chkPacketLog.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraEditors.GroupControl gcLogging; + private DevExpress.XtraLayout.LayoutControl layoutControl2; + private DevExpress.XtraTab.XtraTabControl tabDataLog; + private DevExpress.XtraTab.XtraTabPage tpDataLog; + private DevExpress.XtraEditors.PanelControl panelControl1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraEditors.CheckEdit chkPacketLog; + private DevExpress.XtraTab.XtraTabPage TpEventLog; + private DevExpress.XtraLayout.LayoutControl layoutControl3; + private DevExpress.XtraEditors.MemoEdit meDataLog; + private DevExpress.XtraLayout.LayoutControlGroup Root; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraEditors.SimpleButton btnLogClear; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4; + private DevExpress.XtraLayout.LayoutControl layoutControl4; + private DevExpress.XtraEditors.SimpleButton BtnRefresh; + private System.Windows.Forms.DataGridView GvAlarmHistory; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7; + private DevExpress.XtraEditors.ComboBoxEdit CbPrintID; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8; + } +} diff --git a/LFP_Manager/Controls/ucEventLog.cs b/LFP_Manager/Controls/ucEventLog.cs new file mode 100644 index 0000000..03d3052 --- /dev/null +++ b/LFP_Manager/Controls/ucEventLog.cs @@ -0,0 +1,195 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Text; +using System.Linq; +using System.Windows.Forms; +using DevExpress.XtraEditors; +using LFP_Manager.Utils; +using LFP_Manager.DataStructure; + +namespace LFP_Manager.Controls +{ + public delegate void PrintOptionEvent(object sender, int id); + + public partial class ucEventLog : DevExpress.XtraEditors.XtraUserControl + { + #region VARIABLES + CommConfig Config; + DataTable AlarmHistory = new DataTable(); + + private int print_id = 0; + + public event PrintOptionEvent OnPrintOption = null; + + #endregion + + #region CONSTRUCTORS + public ucEventLog() + { + InitializeComponent(); + } + #endregion + + #region PUBLIC UPDATE + + public void EventUpdate(int id, string aEvent) + { + if (this.InvokeRequired) + { + this.Invoke(new MethodInvoker(delegate () + { + if (chkPacketLog.Checked) + PrintMsg(id, aEvent); + })); + } + else + { + if (chkPacketLog.Checked) + PrintMsg(id, aEvent); + } + } + + private void PrintMsg(int id, string msg) + { + if ((print_id == 0) || (print_id == id)) + { + meDataLog.Text = msg + meDataLog.Text; + } + } + + public void ErrorUpdate(int id, string aEvent) + { + if (this.InvokeRequired) + { + this.Invoke(new MethodInvoker(delegate () + { + //if (cbPacketLog.Checked) + meDataLog.Text = aEvent + meDataLog.Text; + })); + } + else + { + //if (cbPacketLog.Checked) + meDataLog.Text = aEvent + meDataLog.Text; + } + } + + public void AlarmHistoryUpdate1(DataTable aAlarmHistory) + { + if (aAlarmHistory != null) + { + AlarmHistory = aAlarmHistory; + if (InvokeRequired) + { + Invoke(new MethodInvoker(delegate () + { + GvAlarmHistory.DataSource = AlarmHistory; + GvAlarmHistory.Columns["create_date"].DefaultCellStyle.Format = "yyyy-MM-dd HH:mm:ss"; + GvAlarmHistory.DefaultCellStyle.NullValue = "null"; + GvAlarmHistory.DefaultCellStyle.WrapMode = DataGridViewTriState.True; + + GvAlarmHistory.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; + GvAlarmHistory.AllowUserToAddRows = false; + + // 예: Id, ct_no 칼럼 숨기기 + csDbUtils.HideColumns(GvAlarmHistory, "Id", "alarm_code", "alarm_status"); + })); + } + else + { + GvAlarmHistory.DataSource = AlarmHistory; + GvAlarmHistory.Columns["create_date"].DefaultCellStyle.Format = "yyyy-MM-dd HH:mm:ss"; + GvAlarmHistory.DefaultCellStyle.NullValue = "null"; + GvAlarmHistory.DefaultCellStyle.WrapMode = DataGridViewTriState.True; + + GvAlarmHistory.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; + GvAlarmHistory.AllowUserToAddRows = false; + + // 예: Id, ct_no 칼럼 숨기기 + csDbUtils.HideColumns(GvAlarmHistory, "Id", "alarm_code", "alarm_status"); + } + } + } + + #endregion + + #region ENVENT + + private void btnLogClear_Click(object sender, EventArgs e) + { + meDataLog.Text = ""; + } + + private void BtnRefresh_Click(object sender, EventArgs e) + { + if (Config != null) + { + try + { + string modelName = csConstData.UART_MODEL[Config.UartModelIndex]; + AlarmHistory = csDbUtils.GetBmsAlarmDataByDataTable(modelName, DateTime.Now, ""); + + AlarmHistoryUpdate(AlarmHistory); + } + catch (Exception ex) + { + _ = MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } + + private void CbPrintID_SelectedValueChanged(object sender, EventArgs e) + { + try + { + print_id = Convert.ToInt32(CbPrintID.SelectedItem.ToString()); + + OnPrintOption?.Invoke(this, print_id); + } + catch (Exception ex) + { + _ = MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + #endregion + + #region HELPER FUNCTIONS + public void AlarmHistoryUpdate(DataTable aAlarmHistory) + { + if (InvokeRequired) + { + Invoke(new MethodInvoker(delegate () + { + try + { + string modelName = csConstData.UART_MODEL[Config.UartModelIndex]; + AlarmHistory = csDbUtils.GetBmsAlarmDataByDataTable(modelName, DateTime.Now, ""); + + AlarmHistoryUpdate(AlarmHistory); + } + catch (Exception ex) + { + } + })); + } + else + { + try + { + string modelName = csConstData.UART_MODEL[Config.UartModelIndex]; + AlarmHistory = csDbUtils.GetBmsAlarmDataByDataTable(modelName, DateTime.Now, ""); + + AlarmHistoryUpdate(AlarmHistory); + } + catch (Exception ex) + { + } + } + } + #endregion + } +} diff --git a/LFP_Manager/Controls/ucEventLog.resx b/LFP_Manager/Controls/ucEventLog.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/LFP_Manager/Controls/ucEventLog.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/LFP_Manager/Controls/ucHistroy.Designer.cs b/LFP_Manager/Controls/ucHistroy.Designer.cs new file mode 100644 index 0000000..0a2d0d7 --- /dev/null +++ b/LFP_Manager/Controls/ucHistroy.Designer.cs @@ -0,0 +1,377 @@ +namespace LFP_Manager.Controls +{ + partial class ucHistroy + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.btnSearch = new System.Windows.Forms.Button(); + this.dtpEnd = new System.Windows.Forms.DateTimePicker(); + this.dtpStart = new System.Windows.Forms.DateTimePicker(); + this.xtcSearchResult = new DevExpress.XtraTab.XtraTabControl(); + this.pgGrid = new DevExpress.XtraTab.XtraTabPage(); + this.layoutControl3 = new DevExpress.XtraLayout.LayoutControl(); + this.btnExportExcel = new DevExpress.XtraEditors.SimpleButton(); + this.gridSearchResult = new System.Windows.Forms.DataGridView(); + this.Root = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.lcgbSelectDatetime = new DevExpress.XtraLayout.LayoutControlGroup(); + this.slbStartDate = new DevExpress.XtraLayout.SimpleLabelItem(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.slbEndDate = new DevExpress.XtraLayout.SimpleLabelItem(); + this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + this.lcgbSearchResult = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.DbWaitForm = new DevExpress.XtraSplashScreen.SplashScreenManager(this, typeof(global::LFP_Manager.Forms.fmxWait), true, true, typeof(System.Windows.Forms.UserControl)); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.xtcSearchResult)).BeginInit(); + this.xtcSearchResult.SuspendLayout(); + this.pgGrid.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).BeginInit(); + this.layoutControl3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.gridSearchResult)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcgbSelectDatetime)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.slbStartDate)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.slbEndDate)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcgbSearchResult)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.btnSearch); + this.layoutControl1.Controls.Add(this.dtpEnd); + this.layoutControl1.Controls.Add(this.dtpStart); + this.layoutControl1.Controls.Add(this.xtcSearchResult); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(947, 249, 650, 400); + this.layoutControl1.Root = this.layoutControlGroup1; + this.layoutControl1.Size = new System.Drawing.Size(850, 635); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // btnSearch + // + this.btnSearch.Location = new System.Drawing.Point(592, 28); + this.btnSearch.Name = "btnSearch"; + this.btnSearch.Size = new System.Drawing.Size(251, 25); + this.btnSearch.TabIndex = 7; + this.btnSearch.Text = "SEARCH"; + this.btnSearch.UseVisualStyleBackColor = true; + this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click); + // + // dtpEnd + // + this.dtpEnd.CustomFormat = "yyyy-MM-dd HH:mm:ss"; + this.dtpEnd.Font = new System.Drawing.Font("Tahoma", 11F); + this.dtpEnd.Format = System.Windows.Forms.DateTimePickerFormat.Custom; + this.dtpEnd.Location = new System.Drawing.Point(395, 28); + this.dtpEnd.Name = "dtpEnd"; + this.dtpEnd.Size = new System.Drawing.Size(193, 25); + this.dtpEnd.TabIndex = 6; + // + // dtpStart + // + this.dtpStart.CalendarFont = new System.Drawing.Font("Tahoma", 9F); + this.dtpStart.CustomFormat = "yyyy-MM-dd HH:mm:ss"; + this.dtpStart.Font = new System.Drawing.Font("Tahoma", 11F); + this.dtpStart.Format = System.Windows.Forms.DateTimePickerFormat.Custom; + this.dtpStart.Location = new System.Drawing.Point(102, 28); + this.dtpStart.Name = "dtpStart"; + this.dtpStart.Size = new System.Drawing.Size(194, 25); + this.dtpStart.TabIndex = 5; + // + // xtcSearchResult + // + this.xtcSearchResult.Location = new System.Drawing.Point(7, 86); + this.xtcSearchResult.Name = "xtcSearchResult"; + this.xtcSearchResult.SelectedTabPage = this.pgGrid; + this.xtcSearchResult.Size = new System.Drawing.Size(836, 542); + this.xtcSearchResult.TabIndex = 4; + this.xtcSearchResult.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] { + this.pgGrid}); + // + // pgGrid + // + this.pgGrid.Controls.Add(this.layoutControl3); + this.pgGrid.Name = "pgGrid"; + this.pgGrid.Size = new System.Drawing.Size(834, 516); + this.pgGrid.Text = "Result Data"; + // + // layoutControl3 + // + this.layoutControl3.Controls.Add(this.btnExportExcel); + this.layoutControl3.Controls.Add(this.gridSearchResult); + this.layoutControl3.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl3.Location = new System.Drawing.Point(0, 0); + this.layoutControl3.Name = "layoutControl3"; + this.layoutControl3.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1120, 298, 650, 400); + this.layoutControl3.Root = this.Root; + this.layoutControl3.Size = new System.Drawing.Size(834, 516); + this.layoutControl3.TabIndex = 0; + this.layoutControl3.Text = "layoutControl3"; + // + // btnExportExcel + // + this.btnExportExcel.Location = new System.Drawing.Point(728, 481); + this.btnExportExcel.Name = "btnExportExcel"; + this.btnExportExcel.Size = new System.Drawing.Size(103, 32); + this.btnExportExcel.StyleController = this.layoutControl3; + this.btnExportExcel.TabIndex = 5; + this.btnExportExcel.Text = "Export Excel"; + this.btnExportExcel.Click += new System.EventHandler(this.btnExportExcel_Click); + // + // gridSearchResult + // + this.gridSearchResult.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.gridSearchResult.Location = new System.Drawing.Point(3, 3); + this.gridSearchResult.Name = "gridSearchResult"; + this.gridSearchResult.RowTemplate.Height = 23; + this.gridSearchResult.Size = new System.Drawing.Size(828, 474); + this.gridSearchResult.TabIndex = 4; + this.gridSearchResult.CellFormatting += new System.Windows.Forms.DataGridViewCellFormattingEventHandler(this.gridSearchResult_CellFormatting); + // + // Root + // + this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.Root.GroupBordersVisible = false; + this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem5, + this.layoutControlItem6, + this.emptySpaceItem1}); + this.Root.Name = "Root"; + this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.Root.Size = new System.Drawing.Size(834, 516); + this.Root.TextVisible = false; + // + // layoutControlItem5 + // + this.layoutControlItem5.Control = this.gridSearchResult; + this.layoutControlItem5.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem5.MinSize = new System.Drawing.Size(104, 24); + this.layoutControlItem5.Name = "layoutControlItem5"; + this.layoutControlItem5.Size = new System.Drawing.Size(832, 478); + this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem5.TextVisible = false; + // + // layoutControlItem6 + // + this.layoutControlItem6.Control = this.btnExportExcel; + this.layoutControlItem6.Location = new System.Drawing.Point(725, 478); + this.layoutControlItem6.MinSize = new System.Drawing.Size(89, 26); + this.layoutControlItem6.Name = "layoutControlItem6"; + this.layoutControlItem6.Size = new System.Drawing.Size(107, 36); + this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem6.TextVisible = false; + // + // emptySpaceItem1 + // + this.emptySpaceItem1.AllowHotTrack = false; + this.emptySpaceItem1.Location = new System.Drawing.Point(0, 478); + this.emptySpaceItem1.Name = "emptySpaceItem1"; + this.emptySpaceItem1.Size = new System.Drawing.Size(725, 36); + this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlGroup1 + // + this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1"; + this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup1.GroupBordersVisible = false; + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.lcgbSelectDatetime, + this.lcgbSearchResult}); + this.layoutControlGroup1.Name = "Root"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup1.Size = new System.Drawing.Size(850, 635); + this.layoutControlGroup1.TextVisible = false; + // + // lcgbSelectDatetime + // + this.lcgbSelectDatetime.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.slbStartDate, + this.layoutControlItem2, + this.slbEndDate, + this.layoutControlItem4, + this.layoutControlItem3}); + this.lcgbSelectDatetime.Location = new System.Drawing.Point(0, 0); + this.lcgbSelectDatetime.Name = "lcgbSelectDatetime"; + this.lcgbSelectDatetime.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.lcgbSelectDatetime.Size = new System.Drawing.Size(848, 58); + this.lcgbSelectDatetime.Text = "Select Datetime"; + // + // slbStartDate + // + this.slbStartDate.AllowHotTrack = false; + this.slbStartDate.Location = new System.Drawing.Point(0, 0); + this.slbStartDate.MinSize = new System.Drawing.Size(95, 18); + this.slbStartDate.Name = "slbStartDate"; + this.slbStartDate.Size = new System.Drawing.Size(95, 29); + this.slbStartDate.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.slbStartDate.Text = " Start Datetime"; + this.slbStartDate.TextSize = new System.Drawing.Size(85, 14); + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.dtpStart; + this.layoutControlItem2.Location = new System.Drawing.Point(95, 0); + this.layoutControlItem2.MinSize = new System.Drawing.Size(24, 24); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(198, 29); + this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // slbEndDate + // + this.slbEndDate.AllowHotTrack = false; + this.slbEndDate.Location = new System.Drawing.Point(293, 0); + this.slbEndDate.MinSize = new System.Drawing.Size(95, 18); + this.slbEndDate.Name = "slbEndDate"; + this.slbEndDate.Size = new System.Drawing.Size(95, 29); + this.slbEndDate.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.slbEndDate.Text = " End Datetime"; + this.slbEndDate.TextSize = new System.Drawing.Size(85, 14); + // + // layoutControlItem4 + // + this.layoutControlItem4.Control = this.btnSearch; + this.layoutControlItem4.Location = new System.Drawing.Point(585, 0); + this.layoutControlItem4.MaxSize = new System.Drawing.Size(0, 29); + this.layoutControlItem4.MinSize = new System.Drawing.Size(24, 29); + this.layoutControlItem4.Name = "layoutControlItem4"; + this.layoutControlItem4.Size = new System.Drawing.Size(255, 29); + this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem4.TextVisible = false; + // + // layoutControlItem3 + // + this.layoutControlItem3.Control = this.dtpEnd; + this.layoutControlItem3.Location = new System.Drawing.Point(388, 0); + this.layoutControlItem3.MinSize = new System.Drawing.Size(24, 24); + this.layoutControlItem3.Name = "layoutControlItem3"; + this.layoutControlItem3.Size = new System.Drawing.Size(197, 29); + this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem3.TextVisible = false; + // + // lcgbSearchResult + // + this.lcgbSearchResult.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem1}); + this.lcgbSearchResult.Location = new System.Drawing.Point(0, 58); + this.lcgbSearchResult.Name = "lcgbSearchResult"; + this.lcgbSearchResult.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.lcgbSearchResult.Size = new System.Drawing.Size(848, 575); + this.lcgbSearchResult.Text = "Search Result"; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.xtcSearchResult; + this.layoutControlItem1.CustomizationFormText = "layoutControlItem1"; + this.layoutControlItem1.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(840, 546); + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // ucHistroy + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.layoutControl1); + this.Name = "ucHistroy"; + this.Size = new System.Drawing.Size(850, 635); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.xtcSearchResult)).EndInit(); + this.xtcSearchResult.ResumeLayout(false); + this.pgGrid.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).EndInit(); + this.layoutControl3.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.gridSearchResult)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcgbSelectDatetime)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.slbStartDate)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.slbEndDate)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcgbSearchResult)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraTab.XtraTabControl xtcSearchResult; + private DevExpress.XtraTab.XtraTabPage pgGrid; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraSplashScreen.SplashScreenManager DbWaitForm; + private System.Windows.Forms.Button btnSearch; + private System.Windows.Forms.DateTimePicker dtpEnd; + private System.Windows.Forms.DateTimePicker dtpStart; + private DevExpress.XtraLayout.LayoutControlGroup lcgbSelectDatetime; + private DevExpress.XtraLayout.SimpleLabelItem slbStartDate; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraLayout.SimpleLabelItem slbEndDate; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4; + private DevExpress.XtraLayout.LayoutControlGroup lcgbSearchResult; + private DevExpress.XtraLayout.LayoutControl layoutControl3; + private DevExpress.XtraLayout.LayoutControlGroup Root; + private System.Windows.Forms.DataGridView gridSearchResult; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5; + private DevExpress.XtraEditors.SimpleButton btnExportExcel; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + } +} diff --git a/LFP_Manager/Controls/ucHistroy.cs b/LFP_Manager/Controls/ucHistroy.cs new file mode 100644 index 0000000..e1b5403 --- /dev/null +++ b/LFP_Manager/Controls/ucHistroy.cs @@ -0,0 +1,215 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Text; +using System.Linq; +using System.Windows.Forms; +using System.IO; + +using DevExpress.XtraWaitForm; +using DevExpress.XtraSplashScreen; +using DevExpress.XtraCharts; + +using System.Data.SQLite; +using LFP_Manager.DataStructure; +using LFP_Manager.Function; +using LFP_Manager.Utils; + +namespace LFP_Manager.Controls +{ + public partial class ucHistroy : DevExpress.XtraEditors.XtraUserControl + { + #region VARIABLES + + CommConfig Config; + + DataTable dtHistory; + + #endregion + + #region CONSTRUCTOR + + public ucHistroy() + { + InitializeComponent(); + + dtHistory = new DataTable(); + } + + public void SetCommCofig(CommConfig aConfig) + { + Config = aConfig; + } + + #endregion + + #region SQL QUARY EXCUTE + + private void quaryExcute(string quary) + { + string dbFilename = System.IO.Path.GetDirectoryName(Application.ExecutablePath) + DbConstData.Database.FileName; + + // Open database + string strConn = @"Data Source=" + dbFilename; + using (var connection = new SQLiteConnection(strConn)) + { + connection.Open(); + try + { + DataTable aT = new DataTable(); + + DbWaitForm.ShowWaitForm(); + + csDbUtils.BeginTran(connection); + // Update data + using (SQLiteCommand command = connection.CreateCommand()) + { + //sSQL = "insert into TrendTable ( TrendStamp, TagName, TagValue) Values ( " + IntToStr(stamp) + "," + name + "," + value + ");"; + command.CommandText = quary; + + try + { + SQLiteDataReader reader = command.ExecuteReader(); + aT.Load(reader); + } + catch (Exception) + { + } + } + csDbUtils.CommitTran(connection); + dtHistory = aT; + //RealGridView.DataSource = dt; + + DbWaitForm.CloseWaitForm(); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Result", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + finally + { + connection.Close(); + } + } + } + + #endregion + + #region BUTTON EVENT + + private void btnSearch_Click(object sender, EventArgs e) + { + DateTime start = dtpStart.Value; + DateTime mid; + DateTime end = dtpEnd.Value; + TimeSpan span = end - start; + + int sDay = start.DayOfYear; + int eDay = end.DayOfYear; + + dtHistory.Clear(); + + int total_days = eDay - sDay; + + DataTable[] dDt = new DataTable[total_days + 1]; + + string quary = ""; + + try + { + if (total_days == 0) + { + quary = String.Format(" where create_date > '{0:yyyy-MM-dd HH:mm:ss}'", start); + quary += String.Format(" and create_date < '{0:yyyy-MM-dd HH:mm:ss}'", end); + dDt[0] = csDbUtils.BmsDataSelectToDataTable(Config, start, quary); + if (dDt[0] == null) + MessageBox.Show("No data", "Result", MessageBoxButtons.OK, MessageBoxIcon.Information); + else + { + dtHistory = dDt[0]; + dtHistory.TableName = "THistory"; + gridSearchResult.DataSource = dtHistory; + //gridSearchResult.(); + } + } + else + { + DataTable bDt = new DataTable(); + for (int i = 0; i < (total_days + 1); i++) + { + //dDt[i] = new DataTable(); + if (i == 0) + { + quary = String.Format(" where create_date > '{0:yyyy-MM-dd HH:mm:ss}'", start); + dDt[i] = csDbUtils.BmsDataSelectToDataTable(Config, start, quary); + } + else if (i == total_days) + { + quary = String.Format(" where create_date < '{0:yyyy-MM-dd HH:mm:ss}'", end); + dDt[i] = csDbUtils.BmsDataSelectToDataTable(Config, end, quary); + } + else + { + quary = ""; + mid = start.AddDays(i); + dDt[i] = csDbUtils.BmsDataSelectToDataTable(Config, mid, quary); + } + if (dDt[i] != null) + bDt.Merge(dDt[i]); + } + if (bDt == null) + MessageBox.Show("No data", "Result", MessageBoxButtons.OK, MessageBoxIcon.Information); + else + { + dtHistory = bDt; + dtHistory.TableName = String.Format("THistory_{0:yyMMdd_HHmmss}", DateTime.Now); + gridSearchResult.DataSource = dtHistory; + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void btnExportExcel_Click(object sender, EventArgs e) + { + SaveFileDialog sDialog = new SaveFileDialog(); + sDialog.Title = "Select save file"; + sDialog.DefaultExt = "xlsx"; + sDialog.Filter = "Excel files 2003 (*.xls)|*.xls|All files (*.*)|*.*"; + + if (sDialog.ShowDialog() == DialogResult.OK) + { + string filename = sDialog.FileName; + + try + { + csExcelExport.ExportToExcelExt(dtHistory, filename); + + MessageBox.Show("Complete Export Excel File", "Result", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } + + #endregion + + #region COMPONENT EVENT + private void gridSearchResult_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) + { + if (e.Value is DateTime dateTime) + { + e.Value = csUtils.FormatDateTime(dateTime); + e.FormattingApplied = true; + } + } + #endregion + } +} diff --git a/LFP_Manager/Controls/ucHistroy.resx b/LFP_Manager/Controls/ucHistroy.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/LFP_Manager/Controls/ucHistroy.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/LFP_Manager/Controls/ucMainStatus.Designer.cs b/LFP_Manager/Controls/ucMainStatus.Designer.cs new file mode 100644 index 0000000..d3ee152 --- /dev/null +++ b/LFP_Manager/Controls/ucMainStatus.Designer.cs @@ -0,0 +1,822 @@ +namespace LFP_Manager.Controls +{ + partial class ucMainStatus + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + DevExpress.XtraCharts.XYDiagram xyDiagram1 = new DevExpress.XtraCharts.XYDiagram(); + DevExpress.XtraCharts.Series series1 = new DevExpress.XtraCharts.Series(); + DevExpress.XtraCharts.LineSeriesView lineSeriesView1 = new DevExpress.XtraCharts.LineSeriesView(); + DevExpress.XtraCharts.Series series2 = new DevExpress.XtraCharts.Series(); + DevExpress.XtraCharts.LineSeriesView lineSeriesView2 = new DevExpress.XtraCharts.LineSeriesView(); + DevExpress.XtraCharts.ChartTitle chartTitle1 = new DevExpress.XtraCharts.ChartTitle(); + this.tmrDisplay = new System.Windows.Forms.Timer(this.components); + this.rtGraph = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl2 = new DevExpress.XtraLayout.LayoutControl(); + this.btnChartClear = new DevExpress.XtraEditors.SimpleButton(); + this.chartVI = new DevExpress.XtraCharts.ChartControl(); + this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.groupControl1 = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl3 = new DevExpress.XtraLayout.LayoutControl(); + this.gaugeControl5 = new DevExpress.XtraGauges.Win.GaugeControl(); + this.dgTotalSOH = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge(); + this.digitalBackgroundLayerComponent5 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent(); + this.gaugeControl4 = new DevExpress.XtraGauges.Win.GaugeControl(); + this.dgTotalSOC = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge(); + this.digitalBackgroundLayerComponent4 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent(); + this.gaugeControl3 = new DevExpress.XtraGauges.Win.GaugeControl(); + this.dgTotalTemp = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge(); + this.digitalBackgroundLayerComponent3 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent(); + this.gaugeControl2 = new DevExpress.XtraGauges.Win.GaugeControl(); + this.dgTotalCurrent = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge(); + this.digitalBackgroundLayerComponent2 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent(); + this.gaugeControl1 = new DevExpress.XtraGauges.Win.GaugeControl(); + this.dgTotalVoltage = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge(); + this.digitalBackgroundLayerComponent1 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent(); + this.panelControl11 = new DevExpress.XtraEditors.PanelControl(); + this.lbStatus = new DevExpress.XtraEditors.LabelControl(); + this.panelControl2 = new DevExpress.XtraEditors.PanelControl(); + this.lbAlarm = new DevExpress.XtraEditors.LabelControl(); + this.lcGroupSystemValue = new DevExpress.XtraLayout.LayoutControlGroup(); + this.lcItemTotalVoltage = new DevExpress.XtraLayout.LayoutControlItem(); + this.lcItemTotalCurrent = new DevExpress.XtraLayout.LayoutControlItem(); + this.lcItemTemp = new DevExpress.XtraLayout.LayoutControlItem(); + this.lcItemSOC = new DevExpress.XtraLayout.LayoutControlItem(); + this.lcItemSOH = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.lcitemStatus = new DevExpress.XtraLayout.LayoutControlItem(); + this.lcitemAlarm = new DevExpress.XtraLayout.LayoutControlItem(); + this.lcGroupRoot = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem(); + this.gbModuleMain = new DevExpress.XtraEditors.GroupControl(); + this.lcModuleMain = new DevExpress.XtraLayout.LayoutControl(); + this.lcgbModuleMain = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.lcMain = new DevExpress.XtraLayout.LayoutControl(); + this.layoutControlGroup4 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem(); + ((System.ComponentModel.ISupportInitialize)(this.rtGraph)).BeginInit(); + this.rtGraph.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).BeginInit(); + this.layoutControl2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chartVI)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(xyDiagram1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(series1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(lineSeriesView1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(series2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(lineSeriesView2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.groupControl1)).BeginInit(); + this.groupControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).BeginInit(); + this.layoutControl3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgTotalSOH)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgTotalSOC)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgTotalTemp)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgTotalCurrent)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgTotalVoltage)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.panelControl11)).BeginInit(); + this.panelControl11.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.panelControl2)).BeginInit(); + this.panelControl2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.lcGroupSystemValue)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcItemTotalVoltage)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcItemTotalCurrent)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcItemTemp)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcItemSOC)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcItemSOH)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemStatus)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemAlarm)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcGroupRoot)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbModuleMain)).BeginInit(); + this.gbModuleMain.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.lcModuleMain)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcgbModuleMain)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcMain)).BeginInit(); + this.lcMain.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit(); + this.SuspendLayout(); + // + // tmrDisplay + // + this.tmrDisplay.Interval = 500; + this.tmrDisplay.Tick += new System.EventHandler(this.tmrDisplay_Tick); + // + // rtGraph + // + this.rtGraph.Controls.Add(this.layoutControl2); + this.rtGraph.Location = new System.Drawing.Point(206, 413); + this.rtGraph.Name = "rtGraph"; + this.rtGraph.Size = new System.Drawing.Size(1093, 158); + this.rtGraph.TabIndex = 5; + this.rtGraph.Text = "Real Time Graph"; + // + // layoutControl2 + // + this.layoutControl2.AllowCustomization = false; + this.layoutControl2.Controls.Add(this.btnChartClear); + this.layoutControl2.Controls.Add(this.chartVI); + this.layoutControl2.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl2.HiddenItems.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem3, + this.layoutControlItem5}); + this.layoutControl2.Location = new System.Drawing.Point(2, 23); + this.layoutControl2.Name = "layoutControl2"; + this.layoutControl2.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1232, 92, 650, 400); + this.layoutControl2.Root = this.layoutControlGroup2; + this.layoutControl2.Size = new System.Drawing.Size(1089, 133); + this.layoutControl2.TabIndex = 0; + this.layoutControl2.Text = "layoutControl2"; + // + // btnChartClear + // + this.btnChartClear.Location = new System.Drawing.Point(3, 3); + this.btnChartClear.Name = "btnChartClear"; + this.btnChartClear.Size = new System.Drawing.Size(1083, 127); + this.btnChartClear.StyleController = this.layoutControl2; + this.btnChartClear.TabIndex = 5; + this.btnChartClear.Text = "Clear"; + // + // chartVI + // + xyDiagram1.AxisX.NumericScaleOptions.AutoGrid = false; + xyDiagram1.AxisX.VisibleInPanesSerializable = "-1"; + xyDiagram1.AxisX.VisualRange.Auto = false; + xyDiagram1.AxisX.VisualRange.AutoSideMargins = false; + xyDiagram1.AxisX.VisualRange.EndSideMargin = 0D; + xyDiagram1.AxisX.VisualRange.MaxValueSerializable = "9"; + xyDiagram1.AxisX.VisualRange.MinValueSerializable = "0"; + xyDiagram1.AxisX.VisualRange.StartSideMargin = 0D; + xyDiagram1.AxisY.VisibleInPanesSerializable = "-1"; + xyDiagram1.DefaultPane.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(242)))), ((int)(((byte)(242)))), ((int)(((byte)(242))))); + this.chartVI.Diagram = xyDiagram1; + this.chartVI.Legend.Name = "Default Legend"; + this.chartVI.Location = new System.Drawing.Point(3, 3); + this.chartVI.Name = "chartVI"; + series1.Name = "Series 1"; + series1.View = lineSeriesView1; + series2.Name = "Series 2"; + series2.View = lineSeriesView2; + this.chartVI.SeriesSerializable = new DevExpress.XtraCharts.Series[] { + series1, + series2}; + this.chartVI.Size = new System.Drawing.Size(1083, 101); + this.chartVI.TabIndex = 4; + this.chartVI.Titles.AddRange(new DevExpress.XtraCharts.ChartTitle[] { + chartTitle1}); + // + // layoutControlItem3 + // + this.layoutControlItem3.Control = this.chartVI; + this.layoutControlItem3.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem3.Name = "layoutControlItem3"; + this.layoutControlItem3.Size = new System.Drawing.Size(1087, 105); + this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem3.TextVisible = false; + // + // layoutControlItem5 + // + this.layoutControlItem5.Control = this.btnChartClear; + this.layoutControlItem5.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem5.MinSize = new System.Drawing.Size(89, 26); + this.layoutControlItem5.Name = "layoutControlItem5"; + this.layoutControlItem5.Size = new System.Drawing.Size(1087, 131); + this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem5.TextVisible = false; + // + // layoutControlGroup2 + // + this.layoutControlGroup2.CustomizationFormText = "layoutControlGroup2"; + this.layoutControlGroup2.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup2.GroupBordersVisible = false; + this.layoutControlGroup2.Name = "Root"; + this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup2.Size = new System.Drawing.Size(1089, 133); + this.layoutControlGroup2.TextVisible = false; + // + // groupControl1 + // + this.groupControl1.Controls.Add(this.layoutControl3); + this.groupControl1.Location = new System.Drawing.Point(3, 3); + this.groupControl1.Name = "groupControl1"; + this.groupControl1.Size = new System.Drawing.Size(199, 564); + this.groupControl1.TabIndex = 5; + this.groupControl1.Text = "System Value"; + // + // layoutControl3 + // + this.layoutControl3.AllowCustomization = false; + this.layoutControl3.Controls.Add(this.gaugeControl5); + this.layoutControl3.Controls.Add(this.gaugeControl4); + this.layoutControl3.Controls.Add(this.gaugeControl3); + this.layoutControl3.Controls.Add(this.gaugeControl2); + this.layoutControl3.Controls.Add(this.gaugeControl1); + this.layoutControl3.Controls.Add(this.panelControl11); + this.layoutControl3.Controls.Add(this.panelControl2); + this.layoutControl3.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl3.Location = new System.Drawing.Point(2, 23); + this.layoutControl3.Name = "layoutControl3"; + this.layoutControl3.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(498, 165, 250, 350); + this.layoutControl3.Root = this.lcGroupSystemValue; + this.layoutControl3.Size = new System.Drawing.Size(195, 539); + this.layoutControl3.TabIndex = 0; + this.layoutControl3.Text = "layoutControl3"; + // + // gaugeControl5 + // + this.gaugeControl5.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] { + this.dgTotalSOH}); + this.gaugeControl5.Location = new System.Drawing.Point(3, 368); + this.gaugeControl5.Name = "gaugeControl5"; + this.gaugeControl5.Size = new System.Drawing.Size(189, 66); + this.gaugeControl5.TabIndex = 8; + // + // dgTotalSOH + // + this.dgTotalSOH.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA"); + this.dgTotalSOH.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F"); + this.dgTotalSOH.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] { + this.digitalBackgroundLayerComponent5}); + this.dgTotalSOH.Bounds = new System.Drawing.Rectangle(6, 6, 177, 54); + this.dgTotalSOH.DigitCount = 5; + this.dgTotalSOH.Name = "dgTotalSOH"; + this.dgTotalSOH.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20); + this.dgTotalSOH.Text = "00,000"; + // + // digitalBackgroundLayerComponent5 + // + this.digitalBackgroundLayerComponent5.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(265.8125F, 99.9625F); + this.digitalBackgroundLayerComponent5.Name = "digitalBackgroundLayerComponent1"; + this.digitalBackgroundLayerComponent5.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18; + this.digitalBackgroundLayerComponent5.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F); + this.digitalBackgroundLayerComponent5.ZOrder = 1000; + // + // gaugeControl4 + // + this.gaugeControl4.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] { + this.dgTotalSOC}); + this.gaugeControl4.Location = new System.Drawing.Point(3, 281); + this.gaugeControl4.Name = "gaugeControl4"; + this.gaugeControl4.Size = new System.Drawing.Size(189, 66); + this.gaugeControl4.TabIndex = 7; + // + // dgTotalSOC + // + this.dgTotalSOC.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA"); + this.dgTotalSOC.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F"); + this.dgTotalSOC.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] { + this.digitalBackgroundLayerComponent4}); + this.dgTotalSOC.Bounds = new System.Drawing.Rectangle(6, 6, 177, 54); + this.dgTotalSOC.DigitCount = 5; + this.dgTotalSOC.Name = "dgTotalSOC"; + this.dgTotalSOC.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20); + this.dgTotalSOC.Text = "00,000"; + // + // digitalBackgroundLayerComponent4 + // + this.digitalBackgroundLayerComponent4.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(265.8125F, 99.9625F); + this.digitalBackgroundLayerComponent4.Name = "digitalBackgroundLayerComponent1"; + this.digitalBackgroundLayerComponent4.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18; + this.digitalBackgroundLayerComponent4.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F); + this.digitalBackgroundLayerComponent4.ZOrder = 1000; + // + // gaugeControl3 + // + this.gaugeControl3.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] { + this.dgTotalTemp}); + this.gaugeControl3.Location = new System.Drawing.Point(3, 194); + this.gaugeControl3.Name = "gaugeControl3"; + this.gaugeControl3.Size = new System.Drawing.Size(189, 66); + this.gaugeControl3.TabIndex = 6; + // + // dgTotalTemp + // + this.dgTotalTemp.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA"); + this.dgTotalTemp.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F"); + this.dgTotalTemp.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] { + this.digitalBackgroundLayerComponent3}); + this.dgTotalTemp.Bounds = new System.Drawing.Rectangle(6, 6, 177, 54); + this.dgTotalTemp.DigitCount = 5; + this.dgTotalTemp.Name = "dgTotalTemp"; + this.dgTotalTemp.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20); + this.dgTotalTemp.Text = "00,000"; + // + // digitalBackgroundLayerComponent3 + // + this.digitalBackgroundLayerComponent3.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(265.8125F, 99.9625F); + this.digitalBackgroundLayerComponent3.Name = "digitalBackgroundLayerComponent1"; + this.digitalBackgroundLayerComponent3.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18; + this.digitalBackgroundLayerComponent3.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F); + this.digitalBackgroundLayerComponent3.ZOrder = 1000; + // + // gaugeControl2 + // + this.gaugeControl2.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] { + this.dgTotalCurrent}); + this.gaugeControl2.Location = new System.Drawing.Point(3, 107); + this.gaugeControl2.Name = "gaugeControl2"; + this.gaugeControl2.Size = new System.Drawing.Size(189, 66); + this.gaugeControl2.TabIndex = 5; + // + // dgTotalCurrent + // + this.dgTotalCurrent.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA"); + this.dgTotalCurrent.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F"); + this.dgTotalCurrent.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] { + this.digitalBackgroundLayerComponent2}); + this.dgTotalCurrent.Bounds = new System.Drawing.Rectangle(6, 6, 177, 54); + this.dgTotalCurrent.DigitCount = 5; + this.dgTotalCurrent.Name = "dgTotalCurrent"; + this.dgTotalCurrent.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20); + this.dgTotalCurrent.Text = "00,000"; + // + // digitalBackgroundLayerComponent2 + // + this.digitalBackgroundLayerComponent2.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(265.8125F, 99.9625F); + this.digitalBackgroundLayerComponent2.Name = "digitalBackgroundLayerComponent1"; + this.digitalBackgroundLayerComponent2.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18; + this.digitalBackgroundLayerComponent2.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F); + this.digitalBackgroundLayerComponent2.ZOrder = 1000; + // + // gaugeControl1 + // + this.gaugeControl1.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] { + this.dgTotalVoltage}); + this.gaugeControl1.Location = new System.Drawing.Point(3, 20); + this.gaugeControl1.Name = "gaugeControl1"; + this.gaugeControl1.Size = new System.Drawing.Size(189, 66); + this.gaugeControl1.TabIndex = 4; + // + // dgTotalVoltage + // + this.dgTotalVoltage.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA"); + this.dgTotalVoltage.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F"); + this.dgTotalVoltage.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] { + this.digitalBackgroundLayerComponent1}); + this.dgTotalVoltage.Bounds = new System.Drawing.Rectangle(6, 6, 177, 54); + this.dgTotalVoltage.DigitCount = 5; + this.dgTotalVoltage.Name = "dgTotalVoltage"; + this.dgTotalVoltage.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20); + this.dgTotalVoltage.Text = "00,000"; + // + // digitalBackgroundLayerComponent1 + // + this.digitalBackgroundLayerComponent1.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(265.8125F, 99.9625F); + this.digitalBackgroundLayerComponent1.Name = "digitalBackgroundLayerComponent1"; + this.digitalBackgroundLayerComponent1.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18; + this.digitalBackgroundLayerComponent1.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F); + this.digitalBackgroundLayerComponent1.ZOrder = 1000; + // + // panelControl11 + // + this.panelControl11.Controls.Add(this.lbStatus); + this.panelControl11.Location = new System.Drawing.Point(49, 464); + this.panelControl11.Name = "panelControl11"; + this.panelControl11.Size = new System.Drawing.Size(138, 31); + this.panelControl11.TabIndex = 4; + // + // lbStatus + // + this.lbStatus.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbStatus.Appearance.Options.UseFont = true; + this.lbStatus.Appearance.Options.UseTextOptions = true; + this.lbStatus.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.lbStatus.AutoSizeMode = DevExpress.XtraEditors.LabelAutoSizeMode.None; + this.lbStatus.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbStatus.Location = new System.Drawing.Point(2, 2); + this.lbStatus.Name = "lbStatus"; + this.lbStatus.Size = new System.Drawing.Size(134, 27); + this.lbStatus.TabIndex = 0; + this.lbStatus.Text = "Status"; + // + // panelControl2 + // + this.panelControl2.Controls.Add(this.lbAlarm); + this.panelControl2.Location = new System.Drawing.Point(49, 499); + this.panelControl2.Name = "panelControl2"; + this.panelControl2.Size = new System.Drawing.Size(138, 32); + this.panelControl2.TabIndex = 5; + // + // lbAlarm + // + this.lbAlarm.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbAlarm.Appearance.Options.UseFont = true; + this.lbAlarm.Appearance.Options.UseTextOptions = true; + this.lbAlarm.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.lbAlarm.AutoSizeMode = DevExpress.XtraEditors.LabelAutoSizeMode.None; + this.lbAlarm.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbAlarm.Location = new System.Drawing.Point(2, 2); + this.lbAlarm.Name = "lbAlarm"; + this.lbAlarm.Size = new System.Drawing.Size(134, 28); + this.lbAlarm.TabIndex = 0; + this.lbAlarm.Text = "Alarm"; + // + // lcGroupSystemValue + // + this.lcGroupSystemValue.CustomizationFormText = "layoutControlGroup3"; + this.lcGroupSystemValue.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.lcGroupSystemValue.GroupBordersVisible = false; + this.lcGroupSystemValue.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.lcItemTotalVoltage, + this.lcItemTotalCurrent, + this.lcItemTemp, + this.lcItemSOC, + this.lcItemSOH, + this.layoutControlGroup1}); + this.lcGroupSystemValue.Name = "lcGroupSystemValue"; + this.lcGroupSystemValue.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.lcGroupSystemValue.Size = new System.Drawing.Size(195, 539); + this.lcGroupSystemValue.TextVisible = false; + // + // lcItemTotalVoltage + // + this.lcItemTotalVoltage.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lcItemTotalVoltage.AppearanceItemCaption.Options.UseFont = true; + this.lcItemTotalVoltage.Control = this.gaugeControl1; + this.lcItemTotalVoltage.CustomizationFormText = "layoutControlItem4"; + this.lcItemTotalVoltage.Location = new System.Drawing.Point(0, 0); + this.lcItemTotalVoltage.MaxSize = new System.Drawing.Size(0, 87); + this.lcItemTotalVoltage.MinSize = new System.Drawing.Size(109, 87); + this.lcItemTotalVoltage.Name = "lcItemTotalVoltage"; + this.lcItemTotalVoltage.Size = new System.Drawing.Size(193, 87); + this.lcItemTotalVoltage.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcItemTotalVoltage.Text = " Voltage"; + this.lcItemTotalVoltage.TextLocation = DevExpress.Utils.Locations.Top; + this.lcItemTotalVoltage.TextSize = new System.Drawing.Size(125, 14); + // + // lcItemTotalCurrent + // + this.lcItemTotalCurrent.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lcItemTotalCurrent.AppearanceItemCaption.Options.UseFont = true; + this.lcItemTotalCurrent.Control = this.gaugeControl2; + this.lcItemTotalCurrent.CustomizationFormText = " Current"; + this.lcItemTotalCurrent.Location = new System.Drawing.Point(0, 87); + this.lcItemTotalCurrent.MaxSize = new System.Drawing.Size(0, 87); + this.lcItemTotalCurrent.MinSize = new System.Drawing.Size(109, 87); + this.lcItemTotalCurrent.Name = "lcItemTotalCurrent"; + this.lcItemTotalCurrent.Size = new System.Drawing.Size(193, 87); + this.lcItemTotalCurrent.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcItemTotalCurrent.Text = " Current"; + this.lcItemTotalCurrent.TextLocation = DevExpress.Utils.Locations.Top; + this.lcItemTotalCurrent.TextSize = new System.Drawing.Size(125, 14); + // + // lcItemTemp + // + this.lcItemTemp.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lcItemTemp.AppearanceItemCaption.Options.UseFont = true; + this.lcItemTemp.Control = this.gaugeControl3; + this.lcItemTemp.CustomizationFormText = " Temperature"; + this.lcItemTemp.Location = new System.Drawing.Point(0, 174); + this.lcItemTemp.MaxSize = new System.Drawing.Size(0, 87); + this.lcItemTemp.MinSize = new System.Drawing.Size(109, 87); + this.lcItemTemp.Name = "lcItemTemp"; + this.lcItemTemp.Size = new System.Drawing.Size(193, 87); + this.lcItemTemp.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcItemTemp.Text = " Temperature (Max.)"; + this.lcItemTemp.TextLocation = DevExpress.Utils.Locations.Top; + this.lcItemTemp.TextSize = new System.Drawing.Size(125, 14); + // + // lcItemSOC + // + this.lcItemSOC.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lcItemSOC.AppearanceItemCaption.Options.UseFont = true; + this.lcItemSOC.Control = this.gaugeControl4; + this.lcItemSOC.CustomizationFormText = " SOC"; + this.lcItemSOC.Location = new System.Drawing.Point(0, 261); + this.lcItemSOC.MaxSize = new System.Drawing.Size(0, 87); + this.lcItemSOC.MinSize = new System.Drawing.Size(109, 87); + this.lcItemSOC.Name = "lcItemSOC"; + this.lcItemSOC.Size = new System.Drawing.Size(193, 87); + this.lcItemSOC.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcItemSOC.Text = " SOC"; + this.lcItemSOC.TextLocation = DevExpress.Utils.Locations.Top; + this.lcItemSOC.TextSize = new System.Drawing.Size(125, 14); + // + // lcItemSOH + // + this.lcItemSOH.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Bold); + this.lcItemSOH.AppearanceItemCaption.Options.UseFont = true; + this.lcItemSOH.Control = this.gaugeControl5; + this.lcItemSOH.Location = new System.Drawing.Point(0, 348); + this.lcItemSOH.MaxSize = new System.Drawing.Size(0, 87); + this.lcItemSOH.MinSize = new System.Drawing.Size(109, 87); + this.lcItemSOH.Name = "lcItemSOH"; + this.lcItemSOH.Size = new System.Drawing.Size(193, 87); + this.lcItemSOH.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcItemSOH.Text = " SOH"; + this.lcItemSOH.TextLocation = DevExpress.Utils.Locations.Top; + this.lcItemSOH.TextSize = new System.Drawing.Size(125, 14); + // + // layoutControlGroup1 + // + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.lcitemStatus, + this.lcitemAlarm}); + this.layoutControlGroup1.Location = new System.Drawing.Point(0, 435); + this.layoutControlGroup1.Name = "layoutControlGroup1"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2); + this.layoutControlGroup1.Size = new System.Drawing.Size(193, 102); + this.layoutControlGroup1.Text = "Operating Status"; + // + // lcitemStatus + // + this.lcitemStatus.Control = this.panelControl11; + this.lcitemStatus.ControlAlignment = System.Drawing.ContentAlignment.TopLeft; + this.lcitemStatus.CustomizationFormText = "Status"; + this.lcitemStatus.Location = new System.Drawing.Point(0, 0); + this.lcitemStatus.MinSize = new System.Drawing.Size(64, 26); + this.lcitemStatus.Name = "lcitemStatus"; + this.lcitemStatus.Size = new System.Drawing.Size(183, 35); + this.lcitemStatus.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcitemStatus.Text = "Status"; + this.lcitemStatus.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.lcitemStatus.TextSize = new System.Drawing.Size(40, 14); + this.lcitemStatus.TextToControlDistance = 1; + // + // lcitemAlarm + // + this.lcitemAlarm.Control = this.panelControl2; + this.lcitemAlarm.ControlAlignment = System.Drawing.ContentAlignment.TopLeft; + this.lcitemAlarm.CustomizationFormText = "Alarm"; + this.lcitemAlarm.Location = new System.Drawing.Point(0, 35); + this.lcitemAlarm.MinSize = new System.Drawing.Size(64, 26); + this.lcitemAlarm.Name = "lcitemAlarm"; + this.lcitemAlarm.Size = new System.Drawing.Size(183, 36); + this.lcitemAlarm.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcitemAlarm.Text = "Alarm"; + this.lcitemAlarm.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.lcitemAlarm.TextSize = new System.Drawing.Size(40, 20); + this.lcitemAlarm.TextToControlDistance = 1; + // + // lcGroupRoot + // + this.lcGroupRoot.CustomizationFormText = "layoutControlGroup1"; + this.lcGroupRoot.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.lcGroupRoot.GroupBordersVisible = false; + this.lcGroupRoot.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem1, + this.layoutControlItem6}); + this.lcGroupRoot.Name = "Root"; + this.lcGroupRoot.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.lcGroupRoot.Size = new System.Drawing.Size(1302, 570); + this.lcGroupRoot.TextVisible = false; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.groupControl1; + this.layoutControlItem1.CustomizationFormText = "layoutControlItem1"; + this.layoutControlItem1.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem1.MaxSize = new System.Drawing.Size(203, 0); + this.layoutControlItem1.MinSize = new System.Drawing.Size(203, 24); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(203, 568); + this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // layoutControlItem6 + // + this.layoutControlItem6.Control = this.gbModuleMain; + this.layoutControlItem6.Location = new System.Drawing.Point(203, 0); + this.layoutControlItem6.Name = "layoutControlItem6"; + this.layoutControlItem6.Size = new System.Drawing.Size(1097, 568); + this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem6.TextVisible = false; + // + // gbModuleMain + // + this.gbModuleMain.Controls.Add(this.lcModuleMain); + this.gbModuleMain.Location = new System.Drawing.Point(206, 3); + this.gbModuleMain.Name = "gbModuleMain"; + this.gbModuleMain.Size = new System.Drawing.Size(1093, 564); + this.gbModuleMain.TabIndex = 6; + this.gbModuleMain.Text = "Module"; + // + // lcModuleMain + // + this.lcModuleMain.AllowCustomization = false; + this.lcModuleMain.Dock = System.Windows.Forms.DockStyle.Fill; + this.lcModuleMain.Location = new System.Drawing.Point(2, 23); + this.lcModuleMain.Name = "lcModuleMain"; + this.lcModuleMain.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1270, 115, 650, 400); + this.lcModuleMain.Root = this.lcgbModuleMain; + this.lcModuleMain.Size = new System.Drawing.Size(1089, 539); + this.lcModuleMain.TabIndex = 0; + this.lcModuleMain.Text = "layoutControl5"; + // + // lcgbModuleMain + // + this.lcgbModuleMain.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.lcgbModuleMain.GroupBordersVisible = false; + this.lcgbModuleMain.Name = "Root"; + this.lcgbModuleMain.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.lcgbModuleMain.Size = new System.Drawing.Size(1089, 539); + this.lcgbModuleMain.TextVisible = false; + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.rtGraph; + this.layoutControlItem2.CustomizationFormText = "layoutControlItem2"; + this.layoutControlItem2.Location = new System.Drawing.Point(203, 410); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(1097, 162); + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // lcMain + // + this.lcMain.AllowCustomization = false; + this.lcMain.Controls.Add(this.gbModuleMain); + this.lcMain.Controls.Add(this.groupControl1); + this.lcMain.Controls.Add(this.rtGraph); + this.lcMain.Dock = System.Windows.Forms.DockStyle.Fill; + this.lcMain.HiddenItems.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem2}); + this.lcMain.Location = new System.Drawing.Point(0, 0); + this.lcMain.Name = "lcMain"; + this.lcMain.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(955, 282, 650, 400); + this.lcMain.Root = this.lcGroupRoot; + this.lcMain.Size = new System.Drawing.Size(1302, 570); + this.lcMain.TabIndex = 0; + this.lcMain.Text = "layoutControl1"; + // + // layoutControlGroup4 + // + this.layoutControlGroup4.CustomizationFormText = "layoutControlGroup3"; + this.layoutControlGroup4.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup4.GroupBordersVisible = false; + this.layoutControlGroup4.Location = new System.Drawing.Point(0, 0); + this.layoutControlGroup4.Name = "Root"; + this.layoutControlGroup4.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup4.Size = new System.Drawing.Size(185, 63); + this.layoutControlGroup4.TextVisible = false; + // + // layoutControlItem7 + // + this.layoutControlItem7.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Bold); + this.layoutControlItem7.AppearanceItemCaption.Options.UseFont = true; + this.layoutControlItem7.Control = this.gaugeControl5; + this.layoutControlItem7.Location = new System.Drawing.Point(0, 344); + this.layoutControlItem7.MinSize = new System.Drawing.Size(109, 41); + this.layoutControlItem7.Name = "layoutControlItem7"; + this.layoutControlItem7.Size = new System.Drawing.Size(193, 86); + this.layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem7.Text = " SOH"; + this.layoutControlItem7.TextLocation = DevExpress.Utils.Locations.Top; + this.layoutControlItem7.TextSize = new System.Drawing.Size(82, 14); + // + // ucMainStatus + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.lcMain); + this.Name = "ucMainStatus"; + this.Size = new System.Drawing.Size(1302, 570); + ((System.ComponentModel.ISupportInitialize)(this.rtGraph)).EndInit(); + this.rtGraph.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).EndInit(); + this.layoutControl2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(xyDiagram1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(lineSeriesView1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(series1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(lineSeriesView2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(series2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.chartVI)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.groupControl1)).EndInit(); + this.groupControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).EndInit(); + this.layoutControl3.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgTotalSOH)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgTotalSOC)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgTotalTemp)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgTotalCurrent)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgTotalVoltage)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.panelControl11)).EndInit(); + this.panelControl11.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.panelControl2)).EndInit(); + this.panelControl2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.lcGroupSystemValue)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcItemTotalVoltage)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcItemTotalCurrent)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcItemTemp)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcItemSOC)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcItemSOH)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemStatus)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemAlarm)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcGroupRoot)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbModuleMain)).EndInit(); + this.gbModuleMain.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.lcModuleMain)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcgbModuleMain)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcMain)).EndInit(); + this.lcMain.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + private System.Windows.Forms.Timer tmrDisplay; + private DevExpress.XtraEditors.GroupControl rtGraph; + private DevExpress.XtraLayout.LayoutControl layoutControl2; + private DevExpress.XtraEditors.SimpleButton btnChartClear; + private DevExpress.XtraCharts.ChartControl chartVI; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5; + private DevExpress.XtraEditors.GroupControl groupControl1; + private DevExpress.XtraLayout.LayoutControl layoutControl3; + private DevExpress.XtraGauges.Win.GaugeControl gaugeControl4; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge dgTotalSOC; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent4; + private DevExpress.XtraGauges.Win.GaugeControl gaugeControl3; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge dgTotalTemp; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent3; + private DevExpress.XtraGauges.Win.GaugeControl gaugeControl2; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge dgTotalCurrent; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent2; + private DevExpress.XtraGauges.Win.GaugeControl gaugeControl1; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge dgTotalVoltage; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent1; + private DevExpress.XtraLayout.LayoutControlGroup lcGroupSystemValue; + private DevExpress.XtraLayout.LayoutControlItem lcItemTotalVoltage; + private DevExpress.XtraLayout.LayoutControlItem lcItemTotalCurrent; + private DevExpress.XtraLayout.LayoutControlItem lcItemTemp; + private DevExpress.XtraLayout.LayoutControlItem lcItemSOC; + private DevExpress.XtraLayout.LayoutControlGroup lcGroupRoot; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6; + private DevExpress.XtraEditors.GroupControl gbModuleMain; + private DevExpress.XtraLayout.LayoutControl lcMain; + private DevExpress.XtraLayout.LayoutControl lcModuleMain; + private DevExpress.XtraLayout.LayoutControlGroup lcgbModuleMain; + private DevExpress.XtraGauges.Win.GaugeControl gaugeControl5; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge dgTotalSOH; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent5; + private DevExpress.XtraLayout.LayoutControlItem lcItemSOH; + private DevExpress.XtraEditors.PanelControl panelControl11; + private DevExpress.XtraEditors.LabelControl lbStatus; + private DevExpress.XtraLayout.LayoutControlItem lcitemStatus; + private DevExpress.XtraEditors.PanelControl panelControl2; + private DevExpress.XtraEditors.LabelControl lbAlarm; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraLayout.LayoutControlItem lcitemAlarm; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup4; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7; + } +} diff --git a/LFP_Manager/Controls/ucMainStatus.cs b/LFP_Manager/Controls/ucMainStatus.cs new file mode 100644 index 0000000..70fb4da --- /dev/null +++ b/LFP_Manager/Controls/ucMainStatus.cs @@ -0,0 +1,469 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Threading; +using System.Windows.Forms; + +using DevExpress.XtraCharts; +using DevExpress.XtraLayout; +using LFP_Manager.DataStructure; + +namespace LFP_Manager.Controls +{ + public delegate void CommandEvent(int sId, int cmd, int index, int flag, + ref CsDeviceData.DeviceModuleData.DeviceParamData aParam, + ref CsDeviceData.DeviceModuleData.DeviceCalibration aCalib); + + public partial class ucMainStatus : DevExpress.XtraEditors.XtraUserControl + { + #region CONSTANTS / ENUMS + + private const int HeaderHeight = 30; + private const int RowHeight = 60; + private const int BorderPadding = 2; + + private static class Colors + { + public static readonly Color Normal = Color.Green; + public static readonly Color Warning = Color.Orange; + public static readonly Color Fault = Color.Red; + public static readonly Color Offline = Color.Red; + public static readonly Color Charging = Color.Blue; + public static readonly Color Discharging = Color.Magenta; + public static readonly Color Default = Color.Black; + } + + private enum OperatingStatus + { + Standby = 0, + Charging = 1, + Discharging = 2, + Floating = 3 + } + + private enum BatteryStatus + { + Normal = 0, + Warning = 1, + Fault = 2, + WarmingUp = 3, + FaultAntiTheftComm = 4, + FaultAntiTheftGyro = 5 + } + + #endregion + + #region FIELDS + + private CommConfig _config; + private CsDeviceData _deviceData; + + private static CsDeviceData.DeviceModuleData dummy; + + private ucModuleMainHeader _moduleMainHeader; + private ucModuleMainB[] _moduleMainRows; + + private LayoutControlItem[] _lcitemModuleMain; + private EmptySpaceItem[] _emptySpaceItems; + + private int _moduleQty; + + private double _totalVoltage; + private double _totalCurrent; + private double _totalTemperature; + private double _totalSoc; + private double _totalSoh; + + private bool _active; + + public event CommandEvent OnCommand; + + #endregion + + #region CONSTRUCTORS + + public ucMainStatus() + { + InitializeComponent(); + + _moduleQty = csConstData.SystemInfo.MAX_MODULE_SIZE; + + // 크기 변경 시 레이아웃 재배치 + this.Resize += (_, __) => + { + if (_moduleMainRows != null && _moduleMainRows.Length > 0) + RepositionLayout(); + }; + + // 🔧 리소스/이벤트 정리: Dispose 이벤트로 대체 + this.Disposed += UcMainStatus_Disposed; + } + + #endregion + + #region PUBLIC API + public void UpdateMainConfig(CommConfig config, CsDeviceData devData) + { + if (config == null || devData == null) + return; + + _config = config; + _deviceData = devData; + + _moduleQty = Math.Max(0, Math.Min(_config.ModuleQty, csConstData.SystemInfo.MAX_MODULE_SIZE)); + + LoadModuleMain(_moduleQty); + lcgbModuleMain.Invalidate(); + } + + public void Start(CommConfig config, CsDeviceData devData) + { + if (config == null || devData == null) + return; + + _config = config; + _deviceData = devData; + _moduleQty = Math.Max(0, Math.Min(_config.ModuleQty, csConstData.SystemInfo.MAX_MODULE_SIZE)); + + _active = true; + tmrDisplay.Enabled = true; + } + public void Stop() + { + _active = false; + tmrDisplay.Enabled = false; + } + + public void UpdateData(CsDeviceData devData) + { + if (!_active || devData == null) + return; + + _deviceData = devData; + + // 합계 값 계산 (0으로 나눔 방지, 스케일 고정) + _totalVoltage = _deviceData.TotalData?.ValueData != null ? _deviceData.TotalData.ValueData.TotalVoltage / 10.0 : 0.0; + _totalCurrent = _deviceData.TotalData?.ValueData != null ? _deviceData.TotalData.ValueData.TotalCurrent / 10.0 : 0.0; + _totalSoc = _deviceData.TotalData?.ValueData != null ? _deviceData.TotalData.ValueData.TotalSOC / 10.0 : 0.0; + _totalSoh = _deviceData.TotalData?.ValueData != null ? _deviceData.TotalData.ValueData.TotalSOH / 10.0 : 0.0; + _totalTemperature = _deviceData.TotalData?.ValueData != null ? _deviceData.TotalData.ValueData.TotalTemp / 10.0 : 0.0; + + // 모듈 행 갱신 (범위/Null 안전) + if (_moduleMainRows != null && _deviceData.ModuleData != null) + { + var count = Math.Min(Math.Min(_moduleMainRows.Length, _deviceData.ModuleData.Length), _moduleQty); + for (var i = 0; i < count; i++) + { + _moduleMainRows[i]?.UpdateData(ref _deviceData.ModuleData[i]); + } + } + } + + private void UcMainStatus_Disposed(object sender, EventArgs e) + { + try + { + // 타이머 정지 + if (tmrDisplay != null) + tmrDisplay.Enabled = false; + + // 이벤트 구독 해제 + if (_moduleMainRows != null) + { + foreach (var row in _moduleMainRows) + { + if (row != null) + row.OnCommand -= SetCmdEvent; + } + } + } + catch { /* swallow on dispose */ } + } + + #endregion + + #region INTERNAL LAYOUT + + private void LoadModuleMain(int mQty) + { + if (lcModuleMain == null || lcgbModuleMain == null) + return; + + // 기존 컨트롤/아이템 제거 (성능 최적화) + lcModuleMain.SuspendLayout(); + lcgbModuleMain.BeginUpdate(); + try + { + lcModuleMain.Controls.Clear(); + lcgbModuleMain.Items.Clear(); + + _moduleMainHeader = new ucModuleMainHeader(); + _moduleMainRows = new ucModuleMainB[mQty]; + + _lcitemModuleMain = new LayoutControlItem[mQty + 1]; + + var emptySize = csConstData.SystemInfo.MAX_MODULE_SIZE - mQty; + _emptySpaceItems = emptySize > 0 ? new EmptySpaceItem[emptySize] : Array.Empty(); + + // 헤더 + _lcitemModuleMain[0] = new LayoutControlItem + { + Control = _moduleMainHeader, + Name = "lcitemModuleMainHeader", + Size = new Size(Math.Max(0, lcgbModuleMain.Width - 2 * BorderPadding), HeaderHeight), + Location = new Point(BorderPadding, BorderPadding), + TextVisible = false, + Padding = new DevExpress.XtraLayout.Utils.Padding(0) + }; + + // 본문 행 + var tWidth = Math.Max(0, lcgbModuleMain.Width - 2 * BorderPadding); + var y = BorderPadding + HeaderHeight; + + var emptyIdx = 0; + for (var i = 0; i < csConstData.SystemInfo.MAX_MODULE_SIZE; i++) + { + if (i < mQty) + { + // 기존 구독 제거(안전) + if (_moduleMainRows[i] != null) + _moduleMainRows[i].OnCommand -= SetCmdEvent; + + var moduleDataRef = _deviceData != null && _deviceData.ModuleData != null && _deviceData.ModuleData.Length > i + ? ref _deviceData.ModuleData[i] + : ref GetDummyModuleRef(); + + _moduleMainRows[i] = new ucModuleMainB(_config, i + 1, ref moduleDataRef); + _moduleMainRows[i].OnCommand += SetCmdEvent; + + _lcitemModuleMain[i + 1] = new LayoutControlItem + { + Control = _moduleMainRows[i], + Name = $"lcitemModuleMain_{i + 1}", + Size = new Size(tWidth, RowHeight), + Location = new Point(BorderPadding, y), + TextVisible = false, + Padding = new DevExpress.XtraLayout.Utils.Padding(0) + }; + + y += RowHeight; + } + else if (_emptySpaceItems.Length > 0 && emptyIdx < _emptySpaceItems.Length) + { + _emptySpaceItems[emptyIdx] = new EmptySpaceItem + { + Size = new Size(tWidth, RowHeight), + Location = new Point(BorderPadding, y) + }; + y += RowHeight; + emptyIdx++; + } + } + + // 컨트롤 추가 + lcModuleMain.Controls.Add(_moduleMainHeader); + for (var i = 0; i < mQty; i++) + { + if (_moduleMainRows[i] != null) + lcModuleMain.Controls.Add(_moduleMainRows[i]); + } + + // 레이아웃 아이템 구성 + var items = new List(csConstData.SystemInfo.MAX_MODULE_SIZE + 1); + items.Add(_lcitemModuleMain[0]); + for (var i = 1; i < _lcitemModuleMain.Length; i++) + { + if (_lcitemModuleMain[i] != null) + items.Add(_lcitemModuleMain[i]); + } + if (_emptySpaceItems.Length > 0) + items.AddRange(_emptySpaceItems); + + lcgbModuleMain.Items.AddRange(items.ToArray()); + } + finally + { + lcgbModuleMain.EndUpdate(); + lcModuleMain.ResumeLayout(); + lcgbModuleMain.Invalidate(); + } + } + + // 크기 변경 시 아이템 사이즈/좌표만 갱신 (재생성 X) + private void RepositionLayout() + { + if (_lcitemModuleMain == null || _lcitemModuleMain.Length == 0 || lcgbModuleMain == null) + return; + + lcgbModuleMain.BeginUpdate(); + try + { + var tWidth = Math.Max(0, lcgbModuleMain.Width - 2 * BorderPadding); + + // 헤더 + if (_lcitemModuleMain[0] != null) + { + _lcitemModuleMain[0].Size = new Size(tWidth, HeaderHeight); + _lcitemModuleMain[0].Location = new Point(BorderPadding, BorderPadding); + } + + // 행 + var y = BorderPadding + HeaderHeight; + for (var i = 1; i < _lcitemModuleMain.Length; i++) + { + var item = _lcitemModuleMain[i]; + if (item == null) continue; + + item.Size = new Size(tWidth, RowHeight); + item.Location = new Point(BorderPadding, y); + y += RowHeight; + } + + // 빈공간 + if (_emptySpaceItems != null && _emptySpaceItems.Length > 0) + { + foreach (var emp in _emptySpaceItems) + { + if (emp == null) continue; + emp.Size = new Size(tWidth, RowHeight); + emp.Location = new Point(BorderPadding, y); + y += RowHeight; + } + } + } + finally + { + lcgbModuleMain.EndUpdate(); + lcgbModuleMain.Invalidate(); + } + } + + // 모듈 데이터가 아직 없을 때 참조를 위한 더미(구조 동일) + private ref CsDeviceData.DeviceModuleData GetDummyModuleRef() + { + // static 필드로 유지해도 무방 + return ref dummy; + } + #endregion + + #region EVENT BRIDGE + + private void SetCmdEvent( + int sId, int cmd, int index, int flag, + ref CsDeviceData.DeviceModuleData.DeviceParamData aParam, + ref CsDeviceData.DeviceModuleData.DeviceCalibration aCalib) + { + var handler = OnCommand; // 레이스 방지 + handler?.Invoke(sId, cmd, index, flag, ref aParam, ref aCalib); + } + + #endregion + #region TIMER EVENT + private void tmrDisplay_Tick(object sender, EventArgs e) + { + DisplayTotalValue(); + DisplayStatusAndAlarm(); + } + + #endregion + + #region DISPLAY FUNCTION + private void DisplayTotalValue() + { + if (!_active || _deviceData?.TotalData == null) + return; + + var fw = _deviceData.TotalData.IdentData?.FwVerStr ?? "N/A"; + var modules = _config != null ? _config.ModuleQty : _moduleQty; + + rtGraph.Text = $"Real Time Graph - V{fw} - {modules} Modules"; + + dgTotalVoltage.Text = $"{_totalVoltage:0.0}"; + dgTotalCurrent.Text = $"{_totalCurrent:0.0}"; + dgTotalTemp.Text = $"{_totalTemperature:0.0}"; + dgTotalSOC.Text = $"{_totalSoc:0.0}"; + dgTotalSOH.Text = $"{_totalSoh:0.0}"; + + chartVI?.Invalidate(); + } + + private void DisplayStatusAndAlarm() + { + if (_deviceData?.TotalData == null) + return; + + if (_deviceData.TotalData.CommFail) + { + lbStatus.Text = "OFF-LINE"; + lbStatus.ForeColor = Colors.Offline; + lbAlarm.Text = "OFF-LINE"; + lbAlarm.ForeColor = Colors.Offline; + return; + } + + // Operating Status + var st = (OperatingStatus)(_deviceData.TotalData.StatusData?.status ?? -1); + switch (st) + { + case OperatingStatus.Standby: + lbStatus.Text = "STANDBY"; + lbStatus.ForeColor = Colors.Default; + break; + case OperatingStatus.Charging: + lbStatus.Text = "CHARGING"; + lbStatus.ForeColor = Colors.Charging; + break; + case OperatingStatus.Discharging: + lbStatus.Text = "DISCHARGING"; + lbStatus.ForeColor = Colors.Discharging; + break; + case OperatingStatus.Floating: + lbStatus.Text = "FLOATING"; + lbStatus.ForeColor = Colors.Default; + break; + default: + lbStatus.Text = "UNKNOWN"; + lbStatus.ForeColor = Colors.Default; + break; + } + + // Battery Status + var bs = (BatteryStatus)(_deviceData.TotalData.StatusData?.batteryStatus ?? -1); + switch (bs) + { + case BatteryStatus.Normal: + lbAlarm.Text = "NORMAL"; + lbAlarm.ForeColor = Colors.Normal; + break; + case BatteryStatus.Warning: + lbAlarm.Text = "WARNING"; + lbAlarm.ForeColor = Colors.Warning; + break; + case BatteryStatus.Fault: + lbAlarm.Text = "FAULT"; + lbAlarm.ForeColor = Colors.Fault; + break; + case BatteryStatus.WarmingUp: + lbAlarm.Text = "WARMING UP"; + lbAlarm.ForeColor = Colors.Warning; + break; + case BatteryStatus.FaultAntiTheftComm: + lbAlarm.Text = "FAULT (Anti-Theft Comm.)"; + lbAlarm.ForeColor = Colors.Fault; + break; + case BatteryStatus.FaultAntiTheftGyro: + lbAlarm.Text = "FAULT (Anti-Theft Gyro)"; + lbAlarm.ForeColor = Colors.Fault; + break; + default: + lbAlarm.Text = $"UNKNOWN ({_deviceData.TotalData.StatusData?.batteryStatus})"; + lbAlarm.ForeColor = Colors.Fault; + break; + } + } + + #endregion + } +} diff --git a/LFP_Manager/Controls/ucMainStatus.resx b/LFP_Manager/Controls/ucMainStatus.resx new file mode 100644 index 0000000..fe317aa --- /dev/null +++ b/LFP_Manager/Controls/ucMainStatus.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/LFP_Manager/Controls/ucModuleMainA.Designer.cs b/LFP_Manager/Controls/ucModuleMainA.Designer.cs new file mode 100644 index 0000000..43f9d0f --- /dev/null +++ b/LFP_Manager/Controls/ucModuleMainA.Designer.cs @@ -0,0 +1,670 @@ + +namespace LFP_Manager.Controls +{ + partial class ucModuleMainA + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + DevExpress.XtraGauges.Core.Model.ScaleLabel scaleLabel2 = new DevExpress.XtraGauges.Core.Model.ScaleLabel(); + DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState21 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState(); + DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState22 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState(); + DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState23 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState(); + DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState24 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState(); + DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState25 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState(); + DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState26 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState(); + DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState27 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState(); + DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState28 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState(); + DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState29 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState(); + DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState30 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState(); + DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState31 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState(); + DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState32 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState(); + DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState33 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState(); + DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState34 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState(); + DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState35 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState(); + DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState36 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState(); + DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState37 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState(); + DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState38 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState(); + DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState39 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState(); + DevExpress.XtraGauges.Core.Model.ScaleIndicatorState scaleIndicatorState40 = new DevExpress.XtraGauges.Core.Model.ScaleIndicatorState(); + this.tabbedView = new DevExpress.XtraBars.Docking2010.Views.Tabbed.TabbedView(this.components); + this.gbModuleMain = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.Root = new DevExpress.XtraLayout.LayoutControlGroup(); + this.gaugeControl1 = new DevExpress.XtraGauges.Win.GaugeControl(); + this.lcitemSOC = new DevExpress.XtraLayout.LayoutControlItem(); + this.Level_Bars = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearGauge(); + this.linearScaleComponent1 = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleComponent(); + this.linearScaleBackgroundLayerComponent1 = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleBackgroundLayerComponent(); + this.linearScaleStateIndicatorComponent1 = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent(); + this.linearScaleStateIndicatorComponent2 = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent(); + this.linearScaleStateIndicatorComponent3 = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent(); + this.linearScaleStateIndicatorComponent4 = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent(); + this.linearScaleStateIndicatorComponent5 = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent(); + this.linearScaleStateIndicatorComponent6 = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent(); + this.linearScaleStateIndicatorComponent7 = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent(); + this.linearScaleStateIndicatorComponent8 = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent(); + this.linearScaleStateIndicatorComponent9 = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent(); + this.linearScaleStateIndicatorComponent10 = new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent(); + this.gaugeControl2 = new DevExpress.XtraGauges.Win.GaugeControl(); + this.digitalGauge4 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge(); + this.digitalBackgroundLayerComponent1 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent(); + this.lcitemMVolt = new DevExpress.XtraLayout.LayoutControlItem(); + this.gaugeControl3 = new DevExpress.XtraGauges.Win.GaugeControl(); + this.lcitemCurrent = new DevExpress.XtraLayout.LayoutControlItem(); + this.digitalGauge1 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge(); + this.digitalBackgroundLayerComponent2 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent(); + this.gaugeControl4 = new DevExpress.XtraGauges.Win.GaugeControl(); + this.lcitemAvgTemp = new DevExpress.XtraLayout.LayoutControlItem(); + this.digitalGauge2 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge(); + this.digitalBackgroundLayerComponent3 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent(); + this.btnDetailView = new DevExpress.XtraEditors.SimpleButton(); + this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + ((System.ComponentModel.ISupportInitialize)(this.tabbedView)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbModuleMain)).BeginInit(); + this.gbModuleMain.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemSOC)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.Level_Bars)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.linearScaleComponent1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.linearScaleBackgroundLayerComponent1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent7)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent8)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent9)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent10)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalGauge4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemMVolt)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemCurrent)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalGauge1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemAvgTemp)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalGauge2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit(); + this.SuspendLayout(); + // + // gbModuleMain + // + this.gbModuleMain.AppearanceCaption.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.gbModuleMain.AppearanceCaption.Options.UseFont = true; + this.gbModuleMain.Controls.Add(this.layoutControl1); + this.gbModuleMain.Dock = System.Windows.Forms.DockStyle.Fill; + this.gbModuleMain.Location = new System.Drawing.Point(0, 0); + this.gbModuleMain.Name = "gbModuleMain"; + this.gbModuleMain.Size = new System.Drawing.Size(314, 258); + this.gbModuleMain.TabIndex = 0; + this.gbModuleMain.Text = "Module - #0"; + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.btnDetailView); + this.layoutControl1.Controls.Add(this.gaugeControl4); + this.layoutControl1.Controls.Add(this.gaugeControl3); + this.layoutControl1.Controls.Add(this.gaugeControl2); + this.layoutControl1.Controls.Add(this.gaugeControl1); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(2, 23); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1209, 352, 650, 400); + this.layoutControl1.Root = this.Root; + this.layoutControl1.Size = new System.Drawing.Size(310, 233); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // Root + // + this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.Root.GroupBordersVisible = false; + this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.lcitemSOC, + this.lcitemMVolt, + this.lcitemCurrent, + this.lcitemAvgTemp, + this.layoutControlItem5, + this.emptySpaceItem1}); + this.Root.Name = "Root"; + this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.Root.Size = new System.Drawing.Size(310, 233); + this.Root.TextVisible = false; + // + // gaugeControl1 + // + this.gaugeControl1.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] { + this.Level_Bars}); + this.gaugeControl1.Location = new System.Drawing.Point(3, 22); + this.gaugeControl1.Name = "gaugeControl1"; + this.gaugeControl1.Size = new System.Drawing.Size(105, 208); + this.gaugeControl1.TabIndex = 4; + // + // lcitemSOC + // + this.lcitemSOC.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lcitemSOC.AppearanceItemCaption.Options.UseFont = true; + this.lcitemSOC.AppearanceItemCaption.Options.UseTextOptions = true; + this.lcitemSOC.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.lcitemSOC.Control = this.gaugeControl1; + this.lcitemSOC.Location = new System.Drawing.Point(0, 0); + this.lcitemSOC.MinSize = new System.Drawing.Size(109, 50); + this.lcitemSOC.Name = "lcitemSOC"; + this.lcitemSOC.Size = new System.Drawing.Size(109, 231); + this.lcitemSOC.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcitemSOC.Text = "SOC"; + this.lcitemSOC.TextLocation = DevExpress.Utils.Locations.Top; + this.lcitemSOC.TextSize = new System.Drawing.Size(25, 16); + // + // Level_Bars + // + this.Level_Bars.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleBackgroundLayerComponent[] { + this.linearScaleBackgroundLayerComponent1}); + this.Level_Bars.Bounds = new System.Drawing.Rectangle(6, 6, 93, 196); + this.Level_Bars.Indicators.AddRange(new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent[] { + this.linearScaleStateIndicatorComponent1, + this.linearScaleStateIndicatorComponent2, + this.linearScaleStateIndicatorComponent3, + this.linearScaleStateIndicatorComponent4, + this.linearScaleStateIndicatorComponent5, + this.linearScaleStateIndicatorComponent6, + this.linearScaleStateIndicatorComponent7, + this.linearScaleStateIndicatorComponent8, + this.linearScaleStateIndicatorComponent9, + this.linearScaleStateIndicatorComponent10}); + this.Level_Bars.Name = "Level_Bars"; + this.Level_Bars.Scales.AddRange(new DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleComponent[] { + this.linearScaleComponent1}); + // + // linearScaleComponent1 + // + this.linearScaleComponent1.AppearanceTickmarkText.TextBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:Black"); + this.linearScaleComponent1.EndPoint = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 225F); + scaleLabel2.AppearanceText.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Bold); + scaleLabel2.AppearanceText.TextBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:White"); + scaleLabel2.FormatString = "{0} {2:P0}"; + scaleLabel2.Name = "Label0"; + scaleLabel2.Position = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 125F); + scaleLabel2.Size = new System.Drawing.SizeF(100F, 30F); + scaleLabel2.Text = ""; + scaleLabel2.TextOrientation = DevExpress.XtraGauges.Core.Model.LabelOrientation.LeftToRight; + this.linearScaleComponent1.Labels.AddRange(new DevExpress.XtraGauges.Core.Model.ILabel[] { + scaleLabel2}); + this.linearScaleComponent1.MajorTickCount = 2; + this.linearScaleComponent1.MajorTickmark.FormatString = "{0:F0}"; + this.linearScaleComponent1.MajorTickmark.ShapeOffset = -20F; + this.linearScaleComponent1.MajorTickmark.ShapeType = DevExpress.XtraGauges.Core.Model.TickmarkShapeType.Linear_Style1_1; + this.linearScaleComponent1.MajorTickmark.ShowText = false; + this.linearScaleComponent1.MajorTickmark.ShowTick = false; + this.linearScaleComponent1.MajorTickmark.TextOffset = -32F; + this.linearScaleComponent1.MaxValue = 100F; + this.linearScaleComponent1.MinorTickCount = 0; + this.linearScaleComponent1.MinorTickmark.ShapeOffset = -14F; + this.linearScaleComponent1.MinorTickmark.ShapeType = DevExpress.XtraGauges.Core.Model.TickmarkShapeType.Linear_Style1_2; + this.linearScaleComponent1.MinorTickmark.ShowTick = false; + this.linearScaleComponent1.Name = "scale1"; + this.linearScaleComponent1.StartPoint = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 25F); + this.linearScaleComponent1.Value = 75F; + // + // linearScaleBackgroundLayerComponent1 + // + this.linearScaleBackgroundLayerComponent1.LinearScale = this.linearScaleComponent1; + this.linearScaleBackgroundLayerComponent1.Name = "bg1"; + this.linearScaleBackgroundLayerComponent1.ScaleEndPos = new DevExpress.XtraGauges.Core.Base.PointF2D(0.5F, 0.1F); + this.linearScaleBackgroundLayerComponent1.ScaleStartPos = new DevExpress.XtraGauges.Core.Base.PointF2D(0.5F, 0.9F); + this.linearScaleBackgroundLayerComponent1.ShapeType = DevExpress.XtraGauges.Core.Model.BackgroundLayerShapeType.Linear_Style10; + this.linearScaleBackgroundLayerComponent1.ZOrder = 1000; + // + // linearScaleStateIndicatorComponent1 + // + this.linearScaleStateIndicatorComponent1.Center = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 225F); + this.linearScaleStateIndicatorComponent1.IndicatorScale = this.linearScaleComponent1; + this.linearScaleStateIndicatorComponent1.Name = "Indicator0"; + this.linearScaleStateIndicatorComponent1.Size = new System.Drawing.SizeF(58.5702F, 18.94918F); + scaleIndicatorState21.IntervalLength = 100F; + scaleIndicatorState21.Name = "Colored"; + scaleIndicatorState21.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer2; + scaleIndicatorState21.StartValue = 0.01F; + scaleIndicatorState22.IntervalLength = 0F; + scaleIndicatorState22.Name = "Empty"; + scaleIndicatorState22.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer0; + this.linearScaleStateIndicatorComponent1.States.AddRange(new DevExpress.XtraGauges.Core.Model.IIndicatorState[] { + scaleIndicatorState21, + scaleIndicatorState22}); + this.linearScaleStateIndicatorComponent1.ZOrder = 100; + // + // linearScaleStateIndicatorComponent2 + // + this.linearScaleStateIndicatorComponent2.Center = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 202.7778F); + this.linearScaleStateIndicatorComponent2.IndicatorScale = this.linearScaleComponent1; + this.linearScaleStateIndicatorComponent2.Name = "Indicator1"; + this.linearScaleStateIndicatorComponent2.Size = new System.Drawing.SizeF(58.5702F, 18.94918F); + scaleIndicatorState23.IntervalLength = 90F; + scaleIndicatorState23.Name = "Colored"; + scaleIndicatorState23.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer2; + scaleIndicatorState23.StartValue = 10F; + scaleIndicatorState24.IntervalLength = 10F; + scaleIndicatorState24.Name = "Empty"; + scaleIndicatorState24.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer0; + this.linearScaleStateIndicatorComponent2.States.AddRange(new DevExpress.XtraGauges.Core.Model.IIndicatorState[] { + scaleIndicatorState23, + scaleIndicatorState24}); + this.linearScaleStateIndicatorComponent2.ZOrder = 99; + // + // linearScaleStateIndicatorComponent3 + // + this.linearScaleStateIndicatorComponent3.Center = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 180.5556F); + this.linearScaleStateIndicatorComponent3.IndicatorScale = this.linearScaleComponent1; + this.linearScaleStateIndicatorComponent3.Name = "Indicator2"; + this.linearScaleStateIndicatorComponent3.Size = new System.Drawing.SizeF(58.5702F, 18.94918F); + scaleIndicatorState25.IntervalLength = 80F; + scaleIndicatorState25.Name = "Colored"; + scaleIndicatorState25.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer2; + scaleIndicatorState25.StartValue = 20F; + scaleIndicatorState26.IntervalLength = 20F; + scaleIndicatorState26.Name = "Empty"; + scaleIndicatorState26.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer0; + this.linearScaleStateIndicatorComponent3.States.AddRange(new DevExpress.XtraGauges.Core.Model.IIndicatorState[] { + scaleIndicatorState25, + scaleIndicatorState26}); + this.linearScaleStateIndicatorComponent3.ZOrder = 98; + // + // linearScaleStateIndicatorComponent4 + // + this.linearScaleStateIndicatorComponent4.Center = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 158.3333F); + this.linearScaleStateIndicatorComponent4.IndicatorScale = this.linearScaleComponent1; + this.linearScaleStateIndicatorComponent4.Name = "Indicator3"; + this.linearScaleStateIndicatorComponent4.Size = new System.Drawing.SizeF(58.5702F, 18.94918F); + scaleIndicatorState27.IntervalLength = 70F; + scaleIndicatorState27.Name = "Colored"; + scaleIndicatorState27.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer3; + scaleIndicatorState27.StartValue = 30F; + scaleIndicatorState28.IntervalLength = 30F; + scaleIndicatorState28.Name = "Empty"; + scaleIndicatorState28.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer0; + this.linearScaleStateIndicatorComponent4.States.AddRange(new DevExpress.XtraGauges.Core.Model.IIndicatorState[] { + scaleIndicatorState27, + scaleIndicatorState28}); + this.linearScaleStateIndicatorComponent4.ZOrder = 97; + // + // linearScaleStateIndicatorComponent5 + // + this.linearScaleStateIndicatorComponent5.Center = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 136.1111F); + this.linearScaleStateIndicatorComponent5.IndicatorScale = this.linearScaleComponent1; + this.linearScaleStateIndicatorComponent5.Name = "Indicator4"; + this.linearScaleStateIndicatorComponent5.Size = new System.Drawing.SizeF(58.5702F, 18.94918F); + scaleIndicatorState29.IntervalLength = 60F; + scaleIndicatorState29.Name = "Colored"; + scaleIndicatorState29.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer3; + scaleIndicatorState29.StartValue = 40F; + scaleIndicatorState30.IntervalLength = 40F; + scaleIndicatorState30.Name = "Empty"; + scaleIndicatorState30.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer0; + this.linearScaleStateIndicatorComponent5.States.AddRange(new DevExpress.XtraGauges.Core.Model.IIndicatorState[] { + scaleIndicatorState29, + scaleIndicatorState30}); + this.linearScaleStateIndicatorComponent5.ZOrder = 96; + // + // linearScaleStateIndicatorComponent6 + // + this.linearScaleStateIndicatorComponent6.Center = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 113.8889F); + this.linearScaleStateIndicatorComponent6.IndicatorScale = this.linearScaleComponent1; + this.linearScaleStateIndicatorComponent6.Name = "Indicator5"; + this.linearScaleStateIndicatorComponent6.Size = new System.Drawing.SizeF(58.5702F, 18.94918F); + scaleIndicatorState31.IntervalLength = 50F; + scaleIndicatorState31.Name = "Colored"; + scaleIndicatorState31.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer3; + scaleIndicatorState31.StartValue = 50F; + scaleIndicatorState32.IntervalLength = 50F; + scaleIndicatorState32.Name = "Empty"; + scaleIndicatorState32.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer0; + this.linearScaleStateIndicatorComponent6.States.AddRange(new DevExpress.XtraGauges.Core.Model.IIndicatorState[] { + scaleIndicatorState31, + scaleIndicatorState32}); + this.linearScaleStateIndicatorComponent6.ZOrder = 95; + // + // linearScaleStateIndicatorComponent7 + // + this.linearScaleStateIndicatorComponent7.Center = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 91.66667F); + this.linearScaleStateIndicatorComponent7.IndicatorScale = this.linearScaleComponent1; + this.linearScaleStateIndicatorComponent7.Name = "Indicator6"; + this.linearScaleStateIndicatorComponent7.Size = new System.Drawing.SizeF(58.5702F, 18.94918F); + scaleIndicatorState33.IntervalLength = 40F; + scaleIndicatorState33.Name = "Colored"; + scaleIndicatorState33.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer4; + scaleIndicatorState33.StartValue = 60F; + scaleIndicatorState34.IntervalLength = 60F; + scaleIndicatorState34.Name = "Empty"; + scaleIndicatorState34.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer0; + this.linearScaleStateIndicatorComponent7.States.AddRange(new DevExpress.XtraGauges.Core.Model.IIndicatorState[] { + scaleIndicatorState33, + scaleIndicatorState34}); + this.linearScaleStateIndicatorComponent7.ZOrder = 94; + // + // linearScaleStateIndicatorComponent8 + // + this.linearScaleStateIndicatorComponent8.Center = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 69.44444F); + this.linearScaleStateIndicatorComponent8.IndicatorScale = this.linearScaleComponent1; + this.linearScaleStateIndicatorComponent8.Name = "Indicator7"; + this.linearScaleStateIndicatorComponent8.Size = new System.Drawing.SizeF(58.5702F, 18.94918F); + scaleIndicatorState35.IntervalLength = 30F; + scaleIndicatorState35.Name = "Colored"; + scaleIndicatorState35.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer4; + scaleIndicatorState35.StartValue = 70F; + scaleIndicatorState36.IntervalLength = 70F; + scaleIndicatorState36.Name = "Empty"; + scaleIndicatorState36.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer0; + this.linearScaleStateIndicatorComponent8.States.AddRange(new DevExpress.XtraGauges.Core.Model.IIndicatorState[] { + scaleIndicatorState35, + scaleIndicatorState36}); + this.linearScaleStateIndicatorComponent8.ZOrder = 93; + // + // linearScaleStateIndicatorComponent9 + // + this.linearScaleStateIndicatorComponent9.Center = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 47.22222F); + this.linearScaleStateIndicatorComponent9.IndicatorScale = this.linearScaleComponent1; + this.linearScaleStateIndicatorComponent9.Name = "Indicator8"; + this.linearScaleStateIndicatorComponent9.Size = new System.Drawing.SizeF(58.5702F, 18.94918F); + scaleIndicatorState37.IntervalLength = 20F; + scaleIndicatorState37.Name = "Colored"; + scaleIndicatorState37.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer4; + scaleIndicatorState37.StartValue = 80F; + scaleIndicatorState38.IntervalLength = 80F; + scaleIndicatorState38.Name = "Empty"; + scaleIndicatorState38.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer0; + this.linearScaleStateIndicatorComponent9.States.AddRange(new DevExpress.XtraGauges.Core.Model.IIndicatorState[] { + scaleIndicatorState37, + scaleIndicatorState38}); + this.linearScaleStateIndicatorComponent9.ZOrder = 92; + // + // linearScaleStateIndicatorComponent10 + // + this.linearScaleStateIndicatorComponent10.Center = new DevExpress.XtraGauges.Core.Base.PointF2D(62.5F, 25F); + this.linearScaleStateIndicatorComponent10.IndicatorScale = this.linearScaleComponent1; + this.linearScaleStateIndicatorComponent10.Name = "Indicator9"; + this.linearScaleStateIndicatorComponent10.Size = new System.Drawing.SizeF(58.5702F, 18.94918F); + scaleIndicatorState39.IntervalLength = 10F; + scaleIndicatorState39.Name = "Colored"; + scaleIndicatorState39.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer4; + scaleIndicatorState39.StartValue = 90F; + scaleIndicatorState40.IntervalLength = 90F; + scaleIndicatorState40.Name = "Empty"; + scaleIndicatorState40.ShapeType = DevExpress.XtraGauges.Core.Model.StateIndicatorShapeType.Equalizer0; + this.linearScaleStateIndicatorComponent10.States.AddRange(new DevExpress.XtraGauges.Core.Model.IIndicatorState[] { + scaleIndicatorState39, + scaleIndicatorState40}); + this.linearScaleStateIndicatorComponent10.ZOrder = 91; + // + // gaugeControl2 + // + this.gaugeControl2.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] { + this.digitalGauge4}); + this.gaugeControl2.Location = new System.Drawing.Point(167, 3); + this.gaugeControl2.Name = "gaugeControl2"; + this.gaugeControl2.Size = new System.Drawing.Size(140, 56); + this.gaugeControl2.TabIndex = 0; + // + // digitalGauge4 + // + this.digitalGauge4.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA"); + this.digitalGauge4.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F"); + this.digitalGauge4.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] { + this.digitalBackgroundLayerComponent1}); + this.digitalGauge4.Bounds = new System.Drawing.Rectangle(6, 6, 128, 44); + this.digitalGauge4.DigitCount = 5; + this.digitalGauge4.Name = "digitalGauge4"; + this.digitalGauge4.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20); + this.digitalGauge4.Text = "00,000"; + // + // digitalBackgroundLayerComponent1 + // + this.digitalBackgroundLayerComponent1.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(265.8125F, 99.9625F); + this.digitalBackgroundLayerComponent1.Name = "digitalBackgroundLayerComponent1"; + this.digitalBackgroundLayerComponent1.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18; + this.digitalBackgroundLayerComponent1.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F); + this.digitalBackgroundLayerComponent1.ZOrder = 1000; + // + // lcitemMVolt + // + this.lcitemMVolt.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lcitemMVolt.AppearanceItemCaption.Options.UseFont = true; + this.lcitemMVolt.Control = this.gaugeControl2; + this.lcitemMVolt.Location = new System.Drawing.Point(109, 0); + this.lcitemMVolt.MinSize = new System.Drawing.Size(100, 24); + this.lcitemMVolt.Name = "lcitemMVolt"; + this.lcitemMVolt.Size = new System.Drawing.Size(199, 60); + this.lcitemMVolt.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcitemMVolt.Text = " Volt"; + this.lcitemMVolt.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.lcitemMVolt.TextSize = new System.Drawing.Size(50, 16); + this.lcitemMVolt.TextToControlDistance = 5; + // + // gaugeControl3 + // + this.gaugeControl3.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] { + this.digitalGauge1}); + this.gaugeControl3.Location = new System.Drawing.Point(167, 63); + this.gaugeControl3.Name = "gaugeControl3"; + this.gaugeControl3.Size = new System.Drawing.Size(140, 56); + this.gaugeControl3.TabIndex = 5; + // + // lcitemCurrent + // + this.lcitemCurrent.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lcitemCurrent.AppearanceItemCaption.Options.UseFont = true; + this.lcitemCurrent.Control = this.gaugeControl3; + this.lcitemCurrent.Location = new System.Drawing.Point(109, 60); + this.lcitemCurrent.MinSize = new System.Drawing.Size(100, 24); + this.lcitemCurrent.Name = "lcitemCurrent"; + this.lcitemCurrent.Size = new System.Drawing.Size(199, 60); + this.lcitemCurrent.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcitemCurrent.Text = " Curr"; + this.lcitemCurrent.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.lcitemCurrent.TextSize = new System.Drawing.Size(50, 20); + this.lcitemCurrent.TextToControlDistance = 5; + // + // digitalGauge1 + // + this.digitalGauge1.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA"); + this.digitalGauge1.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F"); + this.digitalGauge1.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] { + this.digitalBackgroundLayerComponent2}); + this.digitalGauge1.Bounds = new System.Drawing.Rectangle(6, 6, 128, 44); + this.digitalGauge1.DigitCount = 5; + this.digitalGauge1.Name = "digitalGauge1"; + this.digitalGauge1.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20); + this.digitalGauge1.Text = "00,000"; + // + // digitalBackgroundLayerComponent2 + // + this.digitalBackgroundLayerComponent2.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(265.8125F, 99.9625F); + this.digitalBackgroundLayerComponent2.Name = "digitalBackgroundLayerComponent1"; + this.digitalBackgroundLayerComponent2.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18; + this.digitalBackgroundLayerComponent2.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F); + this.digitalBackgroundLayerComponent2.ZOrder = 1000; + // + // gaugeControl4 + // + this.gaugeControl4.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] { + this.digitalGauge2}); + this.gaugeControl4.Location = new System.Drawing.Point(167, 123); + this.gaugeControl4.Name = "gaugeControl4"; + this.gaugeControl4.Size = new System.Drawing.Size(140, 56); + this.gaugeControl4.TabIndex = 6; + // + // lcitemAvgTemp + // + this.lcitemAvgTemp.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lcitemAvgTemp.AppearanceItemCaption.Options.UseFont = true; + this.lcitemAvgTemp.Control = this.gaugeControl4; + this.lcitemAvgTemp.Location = new System.Drawing.Point(109, 120); + this.lcitemAvgTemp.MinSize = new System.Drawing.Size(100, 24); + this.lcitemAvgTemp.Name = "lcitemAvgTemp"; + this.lcitemAvgTemp.Size = new System.Drawing.Size(199, 60); + this.lcitemAvgTemp.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcitemAvgTemp.Text = " Temp"; + this.lcitemAvgTemp.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.lcitemAvgTemp.TextSize = new System.Drawing.Size(50, 16); + this.lcitemAvgTemp.TextToControlDistance = 5; + // + // digitalGauge2 + // + this.digitalGauge2.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA"); + this.digitalGauge2.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F"); + this.digitalGauge2.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] { + this.digitalBackgroundLayerComponent3}); + this.digitalGauge2.Bounds = new System.Drawing.Rectangle(6, 6, 128, 44); + this.digitalGauge2.DigitCount = 5; + this.digitalGauge2.Name = "digitalGauge2"; + this.digitalGauge2.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20); + this.digitalGauge2.Text = "00,000"; + // + // digitalBackgroundLayerComponent3 + // + this.digitalBackgroundLayerComponent3.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(265.8125F, 99.9625F); + this.digitalBackgroundLayerComponent3.Name = "digitalBackgroundLayerComponent1"; + this.digitalBackgroundLayerComponent3.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18; + this.digitalBackgroundLayerComponent3.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F); + this.digitalBackgroundLayerComponent3.ZOrder = 1000; + // + // btnDetailView + // + this.btnDetailView.Appearance.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btnDetailView.Appearance.Options.UseFont = true; + this.btnDetailView.Location = new System.Drawing.Point(222, 183); + this.btnDetailView.Name = "btnDetailView"; + this.btnDetailView.Size = new System.Drawing.Size(85, 47); + this.btnDetailView.StyleController = this.layoutControl1; + this.btnDetailView.TabIndex = 7; + this.btnDetailView.Text = "Detail View"; + // + // layoutControlItem5 + // + this.layoutControlItem5.Control = this.btnDetailView; + this.layoutControlItem5.Location = new System.Drawing.Point(219, 180); + this.layoutControlItem5.MinSize = new System.Drawing.Size(89, 26); + this.layoutControlItem5.Name = "layoutControlItem5"; + this.layoutControlItem5.Size = new System.Drawing.Size(89, 51); + this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem5.TextVisible = false; + // + // emptySpaceItem1 + // + this.emptySpaceItem1.AllowHotTrack = false; + this.emptySpaceItem1.Location = new System.Drawing.Point(109, 180); + this.emptySpaceItem1.Name = "emptySpaceItem1"; + this.emptySpaceItem1.Size = new System.Drawing.Size(110, 51); + this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0); + // + // ucModuleMainA + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.gbModuleMain); + this.MinimumSize = new System.Drawing.Size(300, 0); + this.Name = "ucModuleMainA"; + this.Size = new System.Drawing.Size(314, 258); + ((System.ComponentModel.ISupportInitialize)(this.tabbedView)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbModuleMain)).EndInit(); + this.gbModuleMain.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemSOC)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.Level_Bars)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.linearScaleComponent1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.linearScaleBackgroundLayerComponent1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent7)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent8)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent9)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.linearScaleStateIndicatorComponent10)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalGauge4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemMVolt)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemCurrent)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalGauge1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemAvgTemp)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalGauge2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + private DevExpress.XtraBars.Docking2010.Views.Tabbed.TabbedView tabbedView; + private DevExpress.XtraEditors.GroupControl gbModuleMain; + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup Root; + private DevExpress.XtraEditors.SimpleButton btnDetailView; + private DevExpress.XtraGauges.Win.GaugeControl gaugeControl4; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge digitalGauge2; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent3; + private DevExpress.XtraGauges.Win.GaugeControl gaugeControl3; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge digitalGauge1; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent2; + private DevExpress.XtraGauges.Win.GaugeControl gaugeControl2; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge digitalGauge4; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent1; + private DevExpress.XtraGauges.Win.GaugeControl gaugeControl1; + private DevExpress.XtraGauges.Win.Gauges.Linear.LinearGauge Level_Bars; + private DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleBackgroundLayerComponent linearScaleBackgroundLayerComponent1; + private DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleComponent linearScaleComponent1; + private DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent linearScaleStateIndicatorComponent1; + private DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent linearScaleStateIndicatorComponent2; + private DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent linearScaleStateIndicatorComponent3; + private DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent linearScaleStateIndicatorComponent4; + private DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent linearScaleStateIndicatorComponent5; + private DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent linearScaleStateIndicatorComponent6; + private DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent linearScaleStateIndicatorComponent7; + private DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent linearScaleStateIndicatorComponent8; + private DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent linearScaleStateIndicatorComponent9; + private DevExpress.XtraGauges.Win.Gauges.Linear.LinearScaleStateIndicatorComponent linearScaleStateIndicatorComponent10; + private DevExpress.XtraLayout.LayoutControlItem lcitemSOC; + private DevExpress.XtraLayout.LayoutControlItem lcitemMVolt; + private DevExpress.XtraLayout.LayoutControlItem lcitemCurrent; + private DevExpress.XtraLayout.LayoutControlItem lcitemAvgTemp; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + } +} diff --git a/LFP_Manager/Controls/ucModuleMainA.cs b/LFP_Manager/Controls/ucModuleMainA.cs new file mode 100644 index 0000000..3ab7480 --- /dev/null +++ b/LFP_Manager/Controls/ucModuleMainA.cs @@ -0,0 +1,21 @@ +using DevExpress.XtraEditors; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace LFP_Manager.Controls +{ + public partial class ucModuleMainA : DevExpress.XtraEditors.XtraUserControl + { + public ucModuleMainA() + { + InitializeComponent(); + } + } +} diff --git a/LFP_Manager/Controls/ucModuleMainA.resx b/LFP_Manager/Controls/ucModuleMainA.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/LFP_Manager/Controls/ucModuleMainA.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/LFP_Manager/Controls/ucModuleMainB.Designer.cs b/LFP_Manager/Controls/ucModuleMainB.Designer.cs new file mode 100644 index 0000000..c5d29ff --- /dev/null +++ b/LFP_Manager/Controls/ucModuleMainB.Designer.cs @@ -0,0 +1,658 @@ + +namespace LFP_Manager.Controls +{ + partial class ucModuleMainB + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.gaugeControl6 = new DevExpress.XtraGauges.Win.GaugeControl(); + this.gaugeTempMax = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge(); + this.digitalBackgroundLayerComponent7 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent(); + this.gaugeControl5 = new DevExpress.XtraGauges.Win.GaugeControl(); + this.gaugeGapV = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge(); + this.digitalBackgroundLayerComponent6 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent(); + this.gaugeControl4 = new DevExpress.XtraGauges.Win.GaugeControl(); + this.gaugeSOH = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge(); + this.digitalBackgroundLayerComponent4 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent(); + this.btnModuleDetail = new DevExpress.XtraEditors.SimpleButton(); + this.gaugeControl3 = new DevExpress.XtraGauges.Win.GaugeControl(); + this.gaugeSOC = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge(); + this.digitalBackgroundLayerComponent3 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent(); + this.gaugeControl2 = new DevExpress.XtraGauges.Win.GaugeControl(); + this.gaugeCurrent = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge(); + this.digitalBackgroundLayerComponent2 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent(); + this.gaugeControl1 = new DevExpress.XtraGauges.Win.GaugeControl(); + this.gaugeVoltage = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge(); + this.digitalBackgroundLayerComponent1 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent(); + this.Root = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.slbOpStatus = new DevExpress.XtraLayout.SimpleLabelItem(); + this.slbAlarm = new DevExpress.XtraLayout.SimpleLabelItem(); + this.lcitemVolt = new DevExpress.XtraLayout.LayoutControlItem(); + this.lcitemCurrent = new DevExpress.XtraLayout.LayoutControlItem(); + this.lcitemSOC = new DevExpress.XtraLayout.LayoutControlItem(); + this.lcitemSOH = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.lcItemModuleDetail = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + this.lbMdFwVer = new DevExpress.XtraLayout.SimpleLabelItem(); + this.tmrDisplay = new System.Windows.Forms.Timer(this.components); + this.digitalGauge1 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge(); + this.digitalBackgroundLayerComponent5 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent(); + this.lbModuleNumber = new DevExpress.XtraEditors.LabelControl(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.lcitemModuleNumber = new DevExpress.XtraLayout.LayoutControlItem(); + this.lbMdNo = new System.Windows.Forms.Label(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.gaugeTempMax)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent7)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gaugeGapV)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gaugeSOH)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gaugeSOC)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gaugeCurrent)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gaugeVoltage)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.slbOpStatus)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.slbAlarm)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemVolt)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemCurrent)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemSOC)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemSOH)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcItemModuleDetail)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbMdFwVer)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalGauge1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemModuleNumber)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.AllowCustomization = false; + this.layoutControl1.Controls.Add(this.lbMdNo); + this.layoutControl1.Controls.Add(this.gaugeControl6); + this.layoutControl1.Controls.Add(this.gaugeControl5); + this.layoutControl1.Controls.Add(this.gaugeControl4); + this.layoutControl1.Controls.Add(this.btnModuleDetail); + this.layoutControl1.Controls.Add(this.gaugeControl3); + this.layoutControl1.Controls.Add(this.gaugeControl2); + this.layoutControl1.Controls.Add(this.gaugeControl1); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(775, 363, 650, 400); + this.layoutControl1.Root = this.Root; + this.layoutControl1.Size = new System.Drawing.Size(888, 54); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // gaugeControl6 + // + this.gaugeControl6.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] { + this.gaugeTempMax}); + this.gaugeControl6.Location = new System.Drawing.Point(648, 6); + this.gaugeControl6.Name = "gaugeControl6"; + this.gaugeControl6.Size = new System.Drawing.Size(94, 41); + this.gaugeControl6.TabIndex = 11; + // + // gaugeTempMax + // + this.gaugeTempMax.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA"); + this.gaugeTempMax.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F"); + this.gaugeTempMax.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] { + this.digitalBackgroundLayerComponent7}); + this.gaugeTempMax.Bounds = new System.Drawing.Rectangle(6, 6, 82, 29); + this.gaugeTempMax.DigitCount = 4; + this.gaugeTempMax.Name = "gaugeTempMax"; + this.gaugeTempMax.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20); + this.gaugeTempMax.Text = "00,000"; + // + // digitalBackgroundLayerComponent7 + // + this.digitalBackgroundLayerComponent7.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(217.85F, 99.9625F); + this.digitalBackgroundLayerComponent7.Name = "digitalBackgroundLayerComponent1"; + this.digitalBackgroundLayerComponent7.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18; + this.digitalBackgroundLayerComponent7.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F); + this.digitalBackgroundLayerComponent7.ZOrder = 1000; + // + // gaugeControl5 + // + this.gaugeControl5.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] { + this.gaugeGapV}); + this.gaugeControl5.Location = new System.Drawing.Point(746, 6); + this.gaugeControl5.Name = "gaugeControl5"; + this.gaugeControl5.Size = new System.Drawing.Size(94, 41); + this.gaugeControl5.TabIndex = 10; + // + // gaugeGapV + // + this.gaugeGapV.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA"); + this.gaugeGapV.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F"); + this.gaugeGapV.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] { + this.digitalBackgroundLayerComponent6}); + this.gaugeGapV.Bounds = new System.Drawing.Rectangle(6, 6, 82, 29); + this.gaugeGapV.DigitCount = 4; + this.gaugeGapV.Name = "gaugeGapV"; + this.gaugeGapV.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20); + this.gaugeGapV.Text = "00,000"; + // + // digitalBackgroundLayerComponent6 + // + this.digitalBackgroundLayerComponent6.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(217.85F, 99.9625F); + this.digitalBackgroundLayerComponent6.Name = "digitalBackgroundLayerComponent1"; + this.digitalBackgroundLayerComponent6.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18; + this.digitalBackgroundLayerComponent6.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F); + this.digitalBackgroundLayerComponent6.ZOrder = 1000; + // + // gaugeControl4 + // + this.gaugeControl4.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] { + this.gaugeSOH}); + this.gaugeControl4.Location = new System.Drawing.Point(550, 6); + this.gaugeControl4.Name = "gaugeControl4"; + this.gaugeControl4.Size = new System.Drawing.Size(94, 41); + this.gaugeControl4.TabIndex = 8; + // + // gaugeSOH + // + this.gaugeSOH.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA"); + this.gaugeSOH.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F"); + this.gaugeSOH.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] { + this.digitalBackgroundLayerComponent4}); + this.gaugeSOH.Bounds = new System.Drawing.Rectangle(6, 6, 82, 29); + this.gaugeSOH.DigitCount = 4; + this.gaugeSOH.Name = "gaugeSOH"; + this.gaugeSOH.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20); + this.gaugeSOH.Text = "00,000"; + // + // digitalBackgroundLayerComponent4 + // + this.digitalBackgroundLayerComponent4.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(217.85F, 99.9625F); + this.digitalBackgroundLayerComponent4.Name = "digitalBackgroundLayerComponent1"; + this.digitalBackgroundLayerComponent4.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18; + this.digitalBackgroundLayerComponent4.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F); + this.digitalBackgroundLayerComponent4.ZOrder = 1000; + // + // btnModuleDetail + // + this.btnModuleDetail.Location = new System.Drawing.Point(844, 6); + this.btnModuleDetail.Name = "btnModuleDetail"; + this.btnModuleDetail.Size = new System.Drawing.Size(37, 41); + this.btnModuleDetail.StyleController = this.layoutControl1; + this.btnModuleDetail.TabIndex = 7; + this.btnModuleDetail.Text = "Detail"; + this.btnModuleDetail.Click += new System.EventHandler(this.btnModuleDetail_Click); + // + // gaugeControl3 + // + this.gaugeControl3.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] { + this.gaugeSOC}); + this.gaugeControl3.Location = new System.Drawing.Point(452, 6); + this.gaugeControl3.Name = "gaugeControl3"; + this.gaugeControl3.Size = new System.Drawing.Size(94, 41); + this.gaugeControl3.TabIndex = 6; + // + // gaugeSOC + // + this.gaugeSOC.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA"); + this.gaugeSOC.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F"); + this.gaugeSOC.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] { + this.digitalBackgroundLayerComponent3}); + this.gaugeSOC.Bounds = new System.Drawing.Rectangle(6, 6, 82, 29); + this.gaugeSOC.DigitCount = 4; + this.gaugeSOC.Name = "gaugeSOC"; + this.gaugeSOC.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20); + this.gaugeSOC.Text = "00,000"; + // + // digitalBackgroundLayerComponent3 + // + this.digitalBackgroundLayerComponent3.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(217.85F, 99.9625F); + this.digitalBackgroundLayerComponent3.Name = "digitalBackgroundLayerComponent1"; + this.digitalBackgroundLayerComponent3.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18; + this.digitalBackgroundLayerComponent3.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F); + this.digitalBackgroundLayerComponent3.ZOrder = 1000; + // + // gaugeControl2 + // + this.gaugeControl2.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] { + this.gaugeCurrent}); + this.gaugeControl2.Location = new System.Drawing.Point(354, 6); + this.gaugeControl2.Name = "gaugeControl2"; + this.gaugeControl2.Size = new System.Drawing.Size(94, 41); + this.gaugeControl2.TabIndex = 5; + // + // gaugeCurrent + // + this.gaugeCurrent.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA"); + this.gaugeCurrent.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F"); + this.gaugeCurrent.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] { + this.digitalBackgroundLayerComponent2}); + this.gaugeCurrent.Bounds = new System.Drawing.Rectangle(6, 6, 82, 29); + this.gaugeCurrent.DigitCount = 4; + this.gaugeCurrent.Name = "gaugeCurrent"; + this.gaugeCurrent.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20); + this.gaugeCurrent.Text = "00,000"; + // + // digitalBackgroundLayerComponent2 + // + this.digitalBackgroundLayerComponent2.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(217.85F, 99.9625F); + this.digitalBackgroundLayerComponent2.Name = "digitalBackgroundLayerComponent1"; + this.digitalBackgroundLayerComponent2.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18; + this.digitalBackgroundLayerComponent2.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F); + this.digitalBackgroundLayerComponent2.ZOrder = 1000; + // + // gaugeControl1 + // + this.gaugeControl1.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] { + this.gaugeVoltage}); + this.gaugeControl1.Location = new System.Drawing.Point(256, 6); + this.gaugeControl1.Name = "gaugeControl1"; + this.gaugeControl1.Size = new System.Drawing.Size(94, 41); + this.gaugeControl1.TabIndex = 4; + // + // gaugeVoltage + // + this.gaugeVoltage.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA"); + this.gaugeVoltage.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F"); + this.gaugeVoltage.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] { + this.digitalBackgroundLayerComponent1}); + this.gaugeVoltage.Bounds = new System.Drawing.Rectangle(6, 6, 82, 29); + this.gaugeVoltage.DigitCount = 4; + this.gaugeVoltage.Name = "gaugeVoltage"; + this.gaugeVoltage.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20); + this.gaugeVoltage.Text = "00,000"; + // + // digitalBackgroundLayerComponent1 + // + this.digitalBackgroundLayerComponent1.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(217.85F, 99.9625F); + this.digitalBackgroundLayerComponent1.Name = "digitalBackgroundLayerComponent1"; + this.digitalBackgroundLayerComponent1.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18; + this.digitalBackgroundLayerComponent1.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F); + this.digitalBackgroundLayerComponent1.ZOrder = 1000; + // + // Root + // + this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.Root.GroupBordersVisible = false; + this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlGroup2}); + this.Root.Name = "Root"; + this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.Root.Size = new System.Drawing.Size(888, 54); + this.Root.TextVisible = false; + // + // layoutControlGroup2 + // + this.layoutControlGroup2.AppearanceGroup.Options.UseTextOptions = true; + this.layoutControlGroup2.AppearanceGroup.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.layoutControlGroup2.AppearanceItemCaption.Options.UseTextOptions = true; + this.layoutControlGroup2.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.layoutControlGroup2.AppearanceItemCaption.TextOptions.VAlignment = DevExpress.Utils.VertAlignment.Center; + this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.slbOpStatus, + this.slbAlarm, + this.lcitemVolt, + this.lcitemCurrent, + this.lcitemSOC, + this.lcitemSOH, + this.layoutControlItem1, + this.lcItemModuleDetail, + this.layoutControlItem3, + this.lbMdFwVer, + this.layoutControlItem2}); + this.layoutControlGroup2.Location = new System.Drawing.Point(0, 0); + this.layoutControlGroup2.Name = "layoutControlGroup2"; + this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup2.Size = new System.Drawing.Size(886, 52); + this.layoutControlGroup2.Text = "MD"; + this.layoutControlGroup2.TextLocation = DevExpress.Utils.Locations.Left; + // + // slbOpStatus + // + this.slbOpStatus.AllowHotTrack = false; + this.slbOpStatus.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Bold); + this.slbOpStatus.AppearanceItemCaption.Options.UseFont = true; + this.slbOpStatus.AppearanceItemCaption.Options.UseTextOptions = true; + this.slbOpStatus.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.slbOpStatus.Location = new System.Drawing.Point(48, 0); + this.slbOpStatus.MinSize = new System.Drawing.Size(60, 18); + this.slbOpStatus.Name = "slbOpStatus"; + this.slbOpStatus.Size = new System.Drawing.Size(60, 45); + this.slbOpStatus.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.slbOpStatus.Text = "DCH"; + this.slbOpStatus.TextSize = new System.Drawing.Size(40, 16); + // + // slbAlarm + // + this.slbAlarm.AllowHotTrack = false; + this.slbAlarm.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Bold); + this.slbAlarm.AppearanceItemCaption.Options.UseFont = true; + this.slbAlarm.AppearanceItemCaption.Options.UseTextOptions = true; + this.slbAlarm.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.slbAlarm.Location = new System.Drawing.Point(108, 0); + this.slbAlarm.MinSize = new System.Drawing.Size(60, 18); + this.slbAlarm.Name = "slbAlarm"; + this.slbAlarm.OptionsTableLayoutItem.RowIndex = 2; + this.slbAlarm.Size = new System.Drawing.Size(60, 45); + this.slbAlarm.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.slbAlarm.Text = "WARN"; + this.slbAlarm.TextSize = new System.Drawing.Size(40, 16); + // + // lcitemVolt + // + this.lcitemVolt.Control = this.gaugeControl1; + this.lcitemVolt.Location = new System.Drawing.Point(227, 0); + this.lcitemVolt.MinSize = new System.Drawing.Size(98, 41); + this.lcitemVolt.Name = "lcitemVolt"; + this.lcitemVolt.OptionsTableLayoutItem.ColumnIndex = 1; + this.lcitemVolt.Size = new System.Drawing.Size(98, 45); + this.lcitemVolt.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcitemVolt.Text = "Voltage"; + this.lcitemVolt.TextLocation = DevExpress.Utils.Locations.Top; + this.lcitemVolt.TextSize = new System.Drawing.Size(0, 0); + this.lcitemVolt.TextVisible = false; + // + // lcitemCurrent + // + this.lcitemCurrent.Control = this.gaugeControl2; + this.lcitemCurrent.Location = new System.Drawing.Point(325, 0); + this.lcitemCurrent.MinSize = new System.Drawing.Size(98, 41); + this.lcitemCurrent.Name = "lcitemCurrent"; + this.lcitemCurrent.OptionsTableLayoutItem.RowIndex = 1; + this.lcitemCurrent.Size = new System.Drawing.Size(98, 45); + this.lcitemCurrent.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcitemCurrent.Text = "Current"; + this.lcitemCurrent.TextLocation = DevExpress.Utils.Locations.Top; + this.lcitemCurrent.TextSize = new System.Drawing.Size(0, 0); + this.lcitemCurrent.TextVisible = false; + // + // lcitemSOC + // + this.lcitemSOC.Control = this.gaugeControl3; + this.lcitemSOC.Location = new System.Drawing.Point(423, 0); + this.lcitemSOC.MinSize = new System.Drawing.Size(98, 41); + this.lcitemSOC.Name = "lcitemSOC"; + this.lcitemSOC.OptionsTableLayoutItem.ColumnIndex = 1; + this.lcitemSOC.OptionsTableLayoutItem.RowIndex = 1; + this.lcitemSOC.Size = new System.Drawing.Size(98, 45); + this.lcitemSOC.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcitemSOC.Text = "SOC"; + this.lcitemSOC.TextLocation = DevExpress.Utils.Locations.Top; + this.lcitemSOC.TextSize = new System.Drawing.Size(0, 0); + this.lcitemSOC.TextVisible = false; + // + // lcitemSOH + // + this.lcitemSOH.Control = this.gaugeControl4; + this.lcitemSOH.Location = new System.Drawing.Point(521, 0); + this.lcitemSOH.MinSize = new System.Drawing.Size(98, 41); + this.lcitemSOH.Name = "lcitemSOH"; + this.lcitemSOH.OptionsTableLayoutItem.RowIndex = 3; + this.lcitemSOH.Size = new System.Drawing.Size(98, 45); + this.lcitemSOH.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcitemSOH.Text = "SOH"; + this.lcitemSOH.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.lcitemSOH.TextLocation = DevExpress.Utils.Locations.Left; + this.lcitemSOH.TextSize = new System.Drawing.Size(0, 0); + this.lcitemSOH.TextToControlDistance = 0; + this.lcitemSOH.TextVisible = false; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.gaugeControl5; + this.layoutControlItem1.Location = new System.Drawing.Point(717, 0); + this.layoutControlItem1.MinSize = new System.Drawing.Size(98, 41); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(98, 45); + this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem1.Text = "GapV"; + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // lcItemModuleDetail + // + this.lcItemModuleDetail.Control = this.btnModuleDetail; + this.lcItemModuleDetail.Location = new System.Drawing.Point(815, 0); + this.lcItemModuleDetail.MinSize = new System.Drawing.Size(41, 26); + this.lcItemModuleDetail.Name = "lcItemModuleDetail"; + this.lcItemModuleDetail.OptionsTableLayoutItem.ColumnIndex = 1; + this.lcItemModuleDetail.OptionsTableLayoutItem.RowIndex = 2; + this.lcItemModuleDetail.Size = new System.Drawing.Size(41, 45); + this.lcItemModuleDetail.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcItemModuleDetail.TextSize = new System.Drawing.Size(0, 0); + this.lcItemModuleDetail.TextVisible = false; + // + // layoutControlItem3 + // + this.layoutControlItem3.Control = this.gaugeControl6; + this.layoutControlItem3.CustomizationFormText = "Temp Max."; + this.layoutControlItem3.Location = new System.Drawing.Point(619, 0); + this.layoutControlItem3.MinSize = new System.Drawing.Size(98, 41); + this.layoutControlItem3.Name = "layoutControlItem3"; + this.layoutControlItem3.Size = new System.Drawing.Size(98, 45); + this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem3.TextVisible = false; + // + // lbMdFwVer + // + this.lbMdFwVer.AllowHotTrack = false; + this.lbMdFwVer.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 10F); + this.lbMdFwVer.AppearanceItemCaption.Options.UseFont = true; + this.lbMdFwVer.Location = new System.Drawing.Point(168, 0); + this.lbMdFwVer.Name = "lbMdFwVer"; + this.lbMdFwVer.Size = new System.Drawing.Size(59, 45); + this.lbMdFwVer.Text = "----"; + this.lbMdFwVer.TextSize = new System.Drawing.Size(40, 16); + // + // tmrDisplay + // + this.tmrDisplay.Enabled = true; + this.tmrDisplay.Interval = 500; + this.tmrDisplay.Tick += new System.EventHandler(this.tmrDisplay_Tick); + // + // digitalGauge1 + // + this.digitalGauge1.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA"); + this.digitalGauge1.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F"); + this.digitalGauge1.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] { + this.digitalBackgroundLayerComponent5}); + this.digitalGauge1.Bounds = new System.Drawing.Rectangle(6, 6, 204, 35); + this.digitalGauge1.DigitCount = 4; + this.digitalGauge1.Name = "digitalGauge1"; + this.digitalGauge1.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20); + this.digitalGauge1.Text = "00,000"; + // + // digitalBackgroundLayerComponent5 + // + this.digitalBackgroundLayerComponent5.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(217.85F, 99.9625F); + this.digitalBackgroundLayerComponent5.Name = "digitalBackgroundLayerComponent1"; + this.digitalBackgroundLayerComponent5.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18; + this.digitalBackgroundLayerComponent5.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F); + this.digitalBackgroundLayerComponent5.ZOrder = 1000; + // + // lbModuleNumber + // + this.lbModuleNumber.Appearance.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbModuleNumber.Appearance.Options.UseFont = true; + this.lbModuleNumber.Appearance.Options.UseTextOptions = true; + this.lbModuleNumber.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.lbModuleNumber.Location = new System.Drawing.Point(3, 3); + this.lbModuleNumber.Name = "lbModuleNumber"; + this.lbModuleNumber.Size = new System.Drawing.Size(0, 19); + this.lbModuleNumber.TabIndex = 4; + // + // layoutControlGroup1 + // + this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup1.GroupBordersVisible = false; + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.lcitemModuleNumber}); + this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0); + this.layoutControlGroup1.Name = "Root"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup1.Size = new System.Drawing.Size(46, 33); + this.layoutControlGroup1.TextVisible = false; + // + // lcitemModuleNumber + // + this.lcitemModuleNumber.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lcitemModuleNumber.AppearanceItemCaption.Options.UseFont = true; + this.lcitemModuleNumber.AppearanceItemCaption.Options.UseTextOptions = true; + this.lcitemModuleNumber.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.lcitemModuleNumber.Control = this.lbModuleNumber; + this.lcitemModuleNumber.CustomizationFormText = "lcitemModuleNumber"; + this.lcitemModuleNumber.Location = new System.Drawing.Point(0, 0); + this.lcitemModuleNumber.MinSize = new System.Drawing.Size(40, 18); + this.lcitemModuleNumber.Name = "lcitemModuleNumber"; + this.lcitemModuleNumber.Size = new System.Drawing.Size(44, 31); + this.lcitemModuleNumber.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcitemModuleNumber.TextSize = new System.Drawing.Size(0, 0); + this.lcitemModuleNumber.TextVisible = false; + // + // lbMdNo + // + this.lbMdNo.Font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Bold); + this.lbMdNo.Location = new System.Drawing.Point(29, 6); + this.lbMdNo.Name = "lbMdNo"; + this.lbMdNo.Size = new System.Drawing.Size(44, 41); + this.lbMdNo.TabIndex = 12; + this.lbMdNo.Text = "#01"; + this.lbMdNo.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.lbMdNo; + this.layoutControlItem2.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem2.MinSize = new System.Drawing.Size(24, 24); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(48, 45); + this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // ucModuleMainB + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.layoutControl1); + this.Margin = new System.Windows.Forms.Padding(0); + this.MinimumSize = new System.Drawing.Size(840, 54); + this.Name = "ucModuleMainB"; + this.Size = new System.Drawing.Size(888, 54); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.gaugeTempMax)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent7)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gaugeGapV)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gaugeSOH)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gaugeSOC)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gaugeCurrent)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gaugeVoltage)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.slbOpStatus)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.slbAlarm)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemVolt)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemCurrent)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemSOC)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemSOH)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcItemModuleDetail)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbMdFwVer)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalGauge1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemModuleNumber)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup Root; + private DevExpress.XtraGauges.Win.GaugeControl gaugeControl1; + private DevExpress.XtraGauges.Win.GaugeControl gaugeControl2; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge gaugeCurrent; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent2; + private DevExpress.XtraGauges.Win.GaugeControl gaugeControl3; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge gaugeSOC; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent3; + private DevExpress.XtraEditors.SimpleButton btnModuleDetail; + private DevExpress.XtraGauges.Win.GaugeControl gaugeControl4; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge gaugeSOH; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent4; + private System.Windows.Forms.Timer tmrDisplay; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge digitalGauge1; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent5; + private DevExpress.XtraLayout.LayoutControlItem lcItemModuleDetail; + private DevExpress.XtraLayout.SimpleLabelItem slbOpStatus; + private DevExpress.XtraLayout.SimpleLabelItem slbAlarm; + private DevExpress.XtraLayout.LayoutControlItem lcitemVolt; + private DevExpress.XtraLayout.LayoutControlItem lcitemCurrent; + private DevExpress.XtraLayout.LayoutControlItem lcitemSOC; + private DevExpress.XtraLayout.LayoutControlItem lcitemSOH; + private DevExpress.XtraGauges.Win.GaugeControl gaugeControl5; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge gaugeGapV; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent6; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2; + private DevExpress.XtraGauges.Win.GaugeControl gaugeControl6; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge gaugeTempMax; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent7; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge gaugeVoltage; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent1; + private DevExpress.XtraLayout.SimpleLabelItem lbMdFwVer; + private DevExpress.XtraEditors.LabelControl lbModuleNumber; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraLayout.LayoutControlItem lcitemModuleNumber; + private System.Windows.Forms.Label lbMdNo; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + } +} diff --git a/LFP_Manager/Controls/ucModuleMainB.cs b/LFP_Manager/Controls/ucModuleMainB.cs new file mode 100644 index 0000000..646abbd --- /dev/null +++ b/LFP_Manager/Controls/ucModuleMainB.cs @@ -0,0 +1,192 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +using DevExpress.XtraEditors; +using LFP_Manager.DataStructure; + +namespace LFP_Manager.Controls +{ + public partial class ucModuleMainB : DevExpress.XtraEditors.XtraUserControl + { + #region VARIABLES + + private int mID = 0; + private CommConfig Config; + private CsDeviceData.DeviceModuleData ModuleData; + private CsDeviceData.DeviceModuleData.DeviceParamData ParamData; + private CsDeviceData.DeviceModuleData.DeviceCalibration CalibData; + + public event CommandEvent OnCommand = null; + + #endregion + + #region CONSTRUCTORS + public ucModuleMainB() + { + InitializeComponent(); + } + + public ucModuleMainB(CommConfig aConfig, int aID, ref CsDeviceData.DeviceModuleData mData) + { + InitializeComponent(); + + Config = aConfig; + mID = aID; + ModuleData = mData; + + lbMdNo.Text = String.Format("#{0:00}", mID); + + tmrDisplay.Start(); + } + #endregion + + #region PUBLIC FUNCTION + + public void UpdateData(ref CsDeviceData.DeviceModuleData mData) + { + ModuleData = mData; + } + + #endregion + + #region TIMER EVENT + private void tmrDisplay_Tick(object sender, EventArgs e) + { + DisplayValue(); + DisplayStatusAndAlarm(); + } + + #endregion + + #region BUTTON EVENT + private void btnModuleDetail_Click(object sender, EventArgs e) + { + OnCommand?.Invoke(mID, 2, 0, 1, ref ParamData, ref CalibData); + } + #endregion + + #region DISPLAY DATA + + private void DisplayMainStatus() + { + if (ModuleData.ShelfCommFail == false) + { + lbMdNo.BackColor = Color.Green; + } + else + { + lbMdNo.BackColor = Color.Orange; + } + + } + + private void DisplayValue() + { + lbMdFwVer.Text = ModuleData.Information.SwProductRev; + gaugeVoltage.Text = String.Format("{0:0.0}", (double)ModuleData.ValueData.voltage / 10); + gaugeCurrent.Text = String.Format("{0:0.0}", (double)ModuleData.ValueData.current / 10); + gaugeSOC.Text = String.Format("{0:0.0}", (double)ModuleData.ValueData.SOC / 10); + gaugeSOH.Text = String.Format("{0:0.0}", (double)ModuleData.ValueData.SOH / 10); + gaugeTempMax.Text = String.Format("{0:0.0}", (double)ModuleData.AvgData.maxTemp / 10); + gaugeGapV.Text = String.Format("{0:0.000}", (double)ModuleData.AvgData.diffCellVoltage / 1000); + } + + private void DisplayStatusAndAlarm() + { + if (ModuleData.CommFail == false) + { + if (ModuleData.ShelfCommFail == false) + { + lbMdNo.BackColor = Color.Green; + + switch (ModuleData.StatusData.status) + { + case 0x0000: // Stand by + slbOpStatus.Text = "STANDBY"; + slbOpStatus.AppearanceItemCaption.ForeColor = System.Drawing.Color.Black; + break; + case 0x0001: // Charging + slbOpStatus.Text = "CHARGING"; + slbOpStatus.AppearanceItemCaption.ForeColor = System.Drawing.Color.Blue; + break; + case 0x0002: // Discharging + slbOpStatus.Text = "DISCHARGING"; + slbOpStatus.AppearanceItemCaption.ForeColor = System.Drawing.Color.Magenta; + break; + case 0x0003: // Float Charging + slbOpStatus.Text = "FLOATING"; + slbOpStatus.AppearanceItemCaption.ForeColor = System.Drawing.Color.Black; + break; + case 0x0004: // Warming Up + slbOpStatus.Text = "WARMING UP"; + slbOpStatus.AppearanceItemCaption.ForeColor = System.Drawing.Color.Black; + break; + default: + slbOpStatus.Text = "UNKNOWN"; + slbOpStatus.AppearanceItemCaption.ForeColor = System.Drawing.Color.Black; + break; + } + // Alarm Display + switch (ModuleData.StatusData.batteryStatus) + { + case 0: // NORMAL + slbAlarm.Text = "NORMAL"; + slbAlarm.AppearanceItemCaption.ForeColor = System.Drawing.Color.Green; + break; + case 1: // WARNING + slbAlarm.Text = "WARNING"; + slbAlarm.AppearanceItemCaption.ForeColor = System.Drawing.Color.Orange; + break; + case 2: // FAULT + slbAlarm.Text = "FAULT"; + slbAlarm.AppearanceItemCaption.ForeColor = System.Drawing.Color.Red; + break; + case 3: // WARMING UP + slbAlarm.Text = "WARMING UP"; + slbAlarm.AppearanceItemCaption.ForeColor = System.Drawing.Color.Black; + break; + case 4: // FAULT (Anti-Theft Comm.) + slbAlarm.Text = "FAULT1"; + slbAlarm.AppearanceItemCaption.ForeColor = System.Drawing.Color.Red; + break; + case 5: // FAULT (Anti-Theft Gyro-Scope) + slbAlarm.Text = "FAULT2"; + slbAlarm.AppearanceItemCaption.ForeColor = System.Drawing.Color.Red; + break; + default: + slbAlarm.Text = string.Format("UNKNOWN ({0})", ModuleData.StatusData.batteryStatus); + slbAlarm.AppearanceItemCaption.ForeColor = System.Drawing.Color.Red; + break; + } + } + else + { + slbOpStatus.Text = "COMM FAIL"; + slbOpStatus.AppearanceItemCaption.ForeColor = System.Drawing.Color.Red; + slbAlarm.Text = "COMM FAIL"; + slbAlarm.AppearanceItemCaption.ForeColor = System.Drawing.Color.Red; + lbMdNo.BackColor = System.Drawing.Color.Orange; + } + } + else + { + slbOpStatus.Text = "OFF LINE"; + slbOpStatus.AppearanceItemCaption.ForeColor = System.Drawing.Color.Red; + slbAlarm.Text = "OFF LINE"; + slbAlarm.AppearanceItemCaption.ForeColor = System.Drawing.Color.Red; + lbMdNo.BackColor = System.Drawing.Color.Orange; + } + + // Charge Relay Status Display + } + + #endregion + } +} diff --git a/LFP_Manager/Controls/ucModuleMainB.resx b/LFP_Manager/Controls/ucModuleMainB.resx new file mode 100644 index 0000000..fe317aa --- /dev/null +++ b/LFP_Manager/Controls/ucModuleMainB.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/LFP_Manager/Controls/ucModuleMainHeader.Designer.cs b/LFP_Manager/Controls/ucModuleMainHeader.Designer.cs new file mode 100644 index 0000000..b2c1c4f --- /dev/null +++ b/LFP_Manager/Controls/ucModuleMainHeader.Designer.cs @@ -0,0 +1,295 @@ +namespace LFP_Manager.Controls +{ + partial class ucModuleMainHeader + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.Root = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.simpleLabelItem1 = new DevExpress.XtraLayout.SimpleLabelItem(); + this.simpleLabelItem2 = new DevExpress.XtraLayout.SimpleLabelItem(); + this.simpleLabelItem4 = new DevExpress.XtraLayout.SimpleLabelItem(); + this.simpleLabelItem3 = new DevExpress.XtraLayout.SimpleLabelItem(); + this.simpleLabelItem5 = new DevExpress.XtraLayout.SimpleLabelItem(); + this.simpleLabelItem6 = new DevExpress.XtraLayout.SimpleLabelItem(); + this.simpleLabelItem7 = new DevExpress.XtraLayout.SimpleLabelItem(); + this.simpleLabelItem8 = new DevExpress.XtraLayout.SimpleLabelItem(); + this.simpleLabelItem9 = new DevExpress.XtraLayout.SimpleLabelItem(); + this.simpleLabelItem10 = new DevExpress.XtraLayout.SimpleLabelItem(); + this.lbFwVer = new DevExpress.XtraLayout.SimpleLabelItem(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem7)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem8)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem9)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem10)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbFwVer)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1132, 485, 650, 400); + this.layoutControl1.Root = this.Root; + this.layoutControl1.Size = new System.Drawing.Size(888, 30); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // Root + // + this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.Root.GroupBordersVisible = false; + this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlGroup1}); + this.Root.Name = "Root"; + this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(3, 3, 3, 3); + this.Root.Size = new System.Drawing.Size(888, 30); + this.Root.TextVisible = false; + // + // layoutControlGroup1 + // + this.layoutControlGroup1.AppearanceGroup.Options.UseTextOptions = true; + this.layoutControlGroup1.AppearanceGroup.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.layoutControlGroup1.CustomizationFormText = "MD"; + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.simpleLabelItem1, + this.simpleLabelItem2, + this.simpleLabelItem4, + this.simpleLabelItem3, + this.simpleLabelItem5, + this.simpleLabelItem6, + this.simpleLabelItem7, + this.simpleLabelItem8, + this.simpleLabelItem9, + this.simpleLabelItem10, + this.lbFwVer}); + this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0); + this.layoutControlGroup1.Name = "layoutControlGroup1"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0); + this.layoutControlGroup1.Size = new System.Drawing.Size(882, 24); + this.layoutControlGroup1.Spacing = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0); + this.layoutControlGroup1.Text = "-"; + this.layoutControlGroup1.TextLocation = DevExpress.Utils.Locations.Left; + // + // simpleLabelItem1 + // + this.simpleLabelItem1.AllowHotTrack = false; + this.simpleLabelItem1.AppearanceItemCaption.Options.UseTextOptions = true; + this.simpleLabelItem1.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.simpleLabelItem1.Location = new System.Drawing.Point(0, 0); + this.simpleLabelItem1.MinSize = new System.Drawing.Size(40, 1); + this.simpleLabelItem1.Name = "simpleLabelItem1"; + this.simpleLabelItem1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0); + this.simpleLabelItem1.Size = new System.Drawing.Size(40, 23); + this.simpleLabelItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.simpleLabelItem1.Text = "NO"; + this.simpleLabelItem1.TextSize = new System.Drawing.Size(82, 14); + // + // simpleLabelItem2 + // + this.simpleLabelItem2.AllowHotTrack = false; + this.simpleLabelItem2.AppearanceItemCaption.Options.UseTextOptions = true; + this.simpleLabelItem2.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.simpleLabelItem2.Location = new System.Drawing.Point(40, 0); + this.simpleLabelItem2.MinSize = new System.Drawing.Size(55, 1); + this.simpleLabelItem2.Name = "simpleLabelItem2"; + this.simpleLabelItem2.Size = new System.Drawing.Size(55, 23); + this.simpleLabelItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.simpleLabelItem2.Text = "Status"; + this.simpleLabelItem2.TextSize = new System.Drawing.Size(82, 14); + // + // simpleLabelItem4 + // + this.simpleLabelItem4.AllowHotTrack = false; + this.simpleLabelItem4.AppearanceItemCaption.Options.UseTextOptions = true; + this.simpleLabelItem4.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.simpleLabelItem4.Location = new System.Drawing.Point(236, 0); + this.simpleLabelItem4.MinSize = new System.Drawing.Size(98, 1); + this.simpleLabelItem4.Name = "simpleLabelItem4"; + this.simpleLabelItem4.Size = new System.Drawing.Size(98, 23); + this.simpleLabelItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.simpleLabelItem4.Text = "Voltage [V]"; + this.simpleLabelItem4.TextSize = new System.Drawing.Size(82, 14); + // + // simpleLabelItem3 + // + this.simpleLabelItem3.AllowHotTrack = false; + this.simpleLabelItem3.AppearanceItemCaption.Options.UseTextOptions = true; + this.simpleLabelItem3.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.simpleLabelItem3.Location = new System.Drawing.Point(95, 0); + this.simpleLabelItem3.MinSize = new System.Drawing.Size(55, 1); + this.simpleLabelItem3.Name = "simpleLabelItem3"; + this.simpleLabelItem3.Size = new System.Drawing.Size(55, 23); + this.simpleLabelItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.simpleLabelItem3.Text = "Alarm"; + this.simpleLabelItem3.TextSize = new System.Drawing.Size(82, 14); + // + // simpleLabelItem5 + // + this.simpleLabelItem5.AllowHotTrack = false; + this.simpleLabelItem5.AppearanceItemCaption.Options.UseTextOptions = true; + this.simpleLabelItem5.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.simpleLabelItem5.Location = new System.Drawing.Point(334, 0); + this.simpleLabelItem5.MinSize = new System.Drawing.Size(98, 1); + this.simpleLabelItem5.Name = "simpleLabelItem5"; + this.simpleLabelItem5.Size = new System.Drawing.Size(98, 23); + this.simpleLabelItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.simpleLabelItem5.Text = "Current [A]"; + this.simpleLabelItem5.TextSize = new System.Drawing.Size(82, 14); + // + // simpleLabelItem6 + // + this.simpleLabelItem6.AllowHotTrack = false; + this.simpleLabelItem6.AppearanceItemCaption.Options.UseTextOptions = true; + this.simpleLabelItem6.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.simpleLabelItem6.Location = new System.Drawing.Point(432, 0); + this.simpleLabelItem6.MinSize = new System.Drawing.Size(98, 1); + this.simpleLabelItem6.Name = "simpleLabelItem6"; + this.simpleLabelItem6.Size = new System.Drawing.Size(98, 23); + this.simpleLabelItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.simpleLabelItem6.Text = "SOC [%]"; + this.simpleLabelItem6.TextSize = new System.Drawing.Size(82, 14); + // + // simpleLabelItem7 + // + this.simpleLabelItem7.AllowHotTrack = false; + this.simpleLabelItem7.AppearanceItemCaption.Options.UseTextOptions = true; + this.simpleLabelItem7.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.simpleLabelItem7.Location = new System.Drawing.Point(530, 0); + this.simpleLabelItem7.MinSize = new System.Drawing.Size(98, 1); + this.simpleLabelItem7.Name = "simpleLabelItem7"; + this.simpleLabelItem7.Size = new System.Drawing.Size(98, 23); + this.simpleLabelItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.simpleLabelItem7.Text = "SOH [%]"; + this.simpleLabelItem7.TextSize = new System.Drawing.Size(82, 14); + // + // simpleLabelItem8 + // + this.simpleLabelItem8.AllowHotTrack = false; + this.simpleLabelItem8.AppearanceItemCaption.Options.UseTextOptions = true; + this.simpleLabelItem8.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.simpleLabelItem8.Location = new System.Drawing.Point(824, 0); + this.simpleLabelItem8.MinSize = new System.Drawing.Size(1, 1); + this.simpleLabelItem8.Name = "simpleLabelItem8"; + this.simpleLabelItem8.Size = new System.Drawing.Size(34, 23); + this.simpleLabelItem8.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.simpleLabelItem8.Text = "CMD"; + this.simpleLabelItem8.TextSize = new System.Drawing.Size(82, 14); + // + // simpleLabelItem9 + // + this.simpleLabelItem9.AllowHotTrack = false; + this.simpleLabelItem9.AppearanceItemCaption.Options.UseTextOptions = true; + this.simpleLabelItem9.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.simpleLabelItem9.CustomizationFormText = "Temp Max. [C]"; + this.simpleLabelItem9.Location = new System.Drawing.Point(628, 0); + this.simpleLabelItem9.MinSize = new System.Drawing.Size(98, 1); + this.simpleLabelItem9.Name = "simpleLabelItem9"; + this.simpleLabelItem9.Size = new System.Drawing.Size(98, 23); + this.simpleLabelItem9.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.simpleLabelItem9.Text = "Temp Max. [C]"; + this.simpleLabelItem9.TextSize = new System.Drawing.Size(82, 14); + // + // simpleLabelItem10 + // + this.simpleLabelItem10.AllowHotTrack = false; + this.simpleLabelItem10.AppearanceItemCaption.Options.UseTextOptions = true; + this.simpleLabelItem10.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.simpleLabelItem10.Location = new System.Drawing.Point(726, 0); + this.simpleLabelItem10.MinSize = new System.Drawing.Size(98, 1); + this.simpleLabelItem10.Name = "simpleLabelItem10"; + this.simpleLabelItem10.Size = new System.Drawing.Size(98, 23); + this.simpleLabelItem10.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.simpleLabelItem10.Text = "Cell V Gap [V]"; + this.simpleLabelItem10.TextSize = new System.Drawing.Size(82, 14); + // + // lbFwVer + // + this.lbFwVer.AllowHotTrack = false; + this.lbFwVer.AppearanceItemCaption.Options.UseTextOptions = true; + this.lbFwVer.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.lbFwVer.Location = new System.Drawing.Point(150, 0); + this.lbFwVer.Name = "lbFwVer"; + this.lbFwVer.Size = new System.Drawing.Size(86, 23); + this.lbFwVer.Text = "FW Ver"; + this.lbFwVer.TextSize = new System.Drawing.Size(82, 14); + // + // ucModuleMainHeader + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.layoutControl1); + this.Margin = new System.Windows.Forms.Padding(0); + this.MinimumSize = new System.Drawing.Size(0, 30); + this.Name = "ucModuleMainHeader"; + this.Size = new System.Drawing.Size(888, 30); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem7)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem8)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem9)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem10)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbFwVer)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup Root; + private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem1; + private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem2; + private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem4; + private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem3; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem5; + private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem6; + private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem7; + private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem8; + private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem9; + private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem10; + private DevExpress.XtraLayout.SimpleLabelItem lbFwVer; + } +} diff --git a/LFP_Manager/Controls/ucModuleMainHeader.cs b/LFP_Manager/Controls/ucModuleMainHeader.cs new file mode 100644 index 0000000..091b9e7 --- /dev/null +++ b/LFP_Manager/Controls/ucModuleMainHeader.cs @@ -0,0 +1,21 @@ +using DevExpress.XtraEditors; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace LFP_Manager.Controls +{ + public partial class ucModuleMainHeader : DevExpress.XtraEditors.XtraUserControl + { + public ucModuleMainHeader() + { + InitializeComponent(); + } + } +} diff --git a/LFP_Manager/Controls/ucModuleMainHeader.resx b/LFP_Manager/Controls/ucModuleMainHeader.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/LFP_Manager/Controls/ucModuleMainHeader.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/LFP_Manager/Controls/ucParamSet.Designer.cs b/LFP_Manager/Controls/ucParamSet.Designer.cs new file mode 100644 index 0000000..451856a --- /dev/null +++ b/LFP_Manager/Controls/ucParamSet.Designer.cs @@ -0,0 +1,551 @@ +namespace LFP_Manager.Controls +{ + partial class ucParamSet + { + /// + /// 필수 디자이너 변수입니다. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// 사용 중인 모든 리소스를 정리합니다. + /// + /// 관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region 구성 요소 디자이너에서 생성한 코드 + + /// + /// 디자이너 지원에 필요한 메서드입니다. + /// 이 메서드의 내용을 코드 편집기로 수정하지 마십시오. + /// + private void InitializeComponent() + { + this.gbParamSet = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.edReleaseNew = new DevExpress.XtraEditors.TextEdit(); + this.edWarningNew = new DevExpress.XtraEditors.TextEdit(); + this.edTripNew = new DevExpress.XtraEditors.TextEdit(); + this.btnSet = new DevExpress.XtraEditors.SimpleButton(); + this.edRelease = new DevExpress.XtraEditors.TextEdit(); + this.edWarning = new DevExpress.XtraEditors.TextEdit(); + this.edTrip = new DevExpress.XtraEditors.TextEdit(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.lcTripParam = new DevExpress.XtraLayout.LayoutControlItem(); + this.lcWarningParam = new DevExpress.XtraLayout.LayoutControlItem(); + this.lcReleaseParam = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.lbTripUnit = new DevExpress.XtraLayout.SimpleLabelItem(); + this.lbWarningUnit = new DevExpress.XtraLayout.SimpleLabelItem(); + this.lbReleaseUnit = new DevExpress.XtraLayout.SimpleLabelItem(); + this.lcTripParamNew = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.lcReleaseParamNew = new DevExpress.XtraLayout.LayoutControlItem(); + this.lbCurr = new DevExpress.XtraLayout.SimpleLabelItem(); + this.lbNew = new DevExpress.XtraLayout.SimpleLabelItem(); + this.emptySpaceItem3 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.emptySpaceItem4 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.lbFault = new DevExpress.XtraLayout.SimpleLabelItem(); + this.lbWarning = new DevExpress.XtraLayout.SimpleLabelItem(); + this.lbRelease = new DevExpress.XtraLayout.SimpleLabelItem(); + ((System.ComponentModel.ISupportInitialize)(this.gbParamSet)).BeginInit(); + this.gbParamSet.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.edReleaseNew.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.edWarningNew.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.edTripNew.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.edRelease.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.edWarning.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.edTrip.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcTripParam)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcWarningParam)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcReleaseParam)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbTripUnit)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbWarningUnit)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbReleaseUnit)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcTripParamNew)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcReleaseParamNew)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbCurr)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbNew)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbFault)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbWarning)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbRelease)).BeginInit(); + this.SuspendLayout(); + // + // gbParamSet + // + this.gbParamSet.Controls.Add(this.layoutControl1); + this.gbParamSet.Dock = System.Windows.Forms.DockStyle.Fill; + this.gbParamSet.Location = new System.Drawing.Point(0, 0); + this.gbParamSet.Name = "gbParamSet"; + this.gbParamSet.Size = new System.Drawing.Size(219, 171); + this.gbParamSet.TabIndex = 0; + this.gbParamSet.Text = "groupControl1"; + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.edReleaseNew); + this.layoutControl1.Controls.Add(this.edWarningNew); + this.layoutControl1.Controls.Add(this.edTripNew); + this.layoutControl1.Controls.Add(this.btnSet); + this.layoutControl1.Controls.Add(this.edRelease); + this.layoutControl1.Controls.Add(this.edWarning); + this.layoutControl1.Controls.Add(this.edTrip); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(2, 23); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(870, 50, 372, 627); + this.layoutControl1.Root = this.layoutControlGroup1; + this.layoutControl1.Size = new System.Drawing.Size(215, 146); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // edReleaseNew + // + this.edReleaseNew.Location = new System.Drawing.Point(124, 79); + this.edReleaseNew.Name = "edReleaseNew"; + this.edReleaseNew.Properties.Appearance.Options.UseTextOptions = true; + this.edReleaseNew.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.edReleaseNew.Size = new System.Drawing.Size(56, 20); + this.edReleaseNew.StyleController = this.layoutControl1; + this.edReleaseNew.TabIndex = 11; + this.edReleaseNew.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.TextBox_KeyPress); + // + // edWarningNew + // + this.edWarningNew.Location = new System.Drawing.Point(124, 54); + this.edWarningNew.Name = "edWarningNew"; + this.edWarningNew.Properties.Appearance.Options.UseTextOptions = true; + this.edWarningNew.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.edWarningNew.Size = new System.Drawing.Size(56, 20); + this.edWarningNew.StyleController = this.layoutControl1; + this.edWarningNew.TabIndex = 10; + this.edWarningNew.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.TextBox_KeyPress); + // + // edTripNew + // + this.edTripNew.Location = new System.Drawing.Point(124, 29); + this.edTripNew.Name = "edTripNew"; + this.edTripNew.Properties.Appearance.Options.UseTextOptions = true; + this.edTripNew.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.edTripNew.Size = new System.Drawing.Size(56, 20); + this.edTripNew.StyleController = this.layoutControl1; + this.edTripNew.TabIndex = 9; + this.edTripNew.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.TextBox_KeyPress); + // + // btnSet + // + this.btnSet.Location = new System.Drawing.Point(135, 116); + this.btnSet.Name = "btnSet"; + this.btnSet.Size = new System.Drawing.Size(76, 26); + this.btnSet.StyleController = this.layoutControl1; + this.btnSet.TabIndex = 8; + this.btnSet.Text = "Set"; + this.btnSet.Click += new System.EventHandler(this.btnSet_Click); + // + // edRelease + // + this.edRelease.Location = new System.Drawing.Point(64, 79); + this.edRelease.Name = "edRelease"; + this.edRelease.Properties.Appearance.Options.UseTextOptions = true; + this.edRelease.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.edRelease.Properties.ReadOnly = true; + this.edRelease.Size = new System.Drawing.Size(56, 20); + this.edRelease.StyleController = this.layoutControl1; + this.edRelease.TabIndex = 6; + // + // edWarning + // + this.edWarning.Location = new System.Drawing.Point(64, 54); + this.edWarning.Name = "edWarning"; + this.edWarning.Properties.Appearance.Options.UseTextOptions = true; + this.edWarning.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.edWarning.Properties.ReadOnly = true; + this.edWarning.Size = new System.Drawing.Size(56, 20); + this.edWarning.StyleController = this.layoutControl1; + this.edWarning.TabIndex = 5; + // + // edTrip + // + this.edTrip.Location = new System.Drawing.Point(64, 29); + this.edTrip.Name = "edTrip"; + this.edTrip.Properties.Appearance.Options.UseTextOptions = true; + this.edTrip.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.edTrip.Properties.ReadOnly = true; + this.edTrip.Size = new System.Drawing.Size(56, 20); + this.edTrip.StyleController = this.layoutControl1; + this.edTrip.TabIndex = 4; + // + // layoutControlGroup1 + // + this.layoutControlGroup1.CustomizationFormText = "Root"; + this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup1.GroupBordersVisible = false; + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.lcTripParam, + this.lcWarningParam, + this.lcReleaseParam, + this.emptySpaceItem1, + this.layoutControlItem5, + this.emptySpaceItem2, + this.lbTripUnit, + this.lbWarningUnit, + this.lbReleaseUnit, + this.lcTripParamNew, + this.layoutControlItem2, + this.lcReleaseParamNew, + this.lbCurr, + this.lbNew, + this.emptySpaceItem3, + this.emptySpaceItem4, + this.lbFault, + this.lbWarning, + this.lbRelease}); + this.layoutControlGroup1.Name = "Root"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2); + this.layoutControlGroup1.Size = new System.Drawing.Size(215, 146); + this.layoutControlGroup1.TextVisible = false; + // + // lcTripParam + // + this.lcTripParam.Control = this.edTrip; + this.lcTripParam.CustomizationFormText = "Fault"; + this.lcTripParam.Location = new System.Drawing.Point(60, 25); + this.lcTripParam.MaxSize = new System.Drawing.Size(60, 25); + this.lcTripParam.MinSize = new System.Drawing.Size(60, 25); + this.lcTripParam.Name = "lcTripParam"; + this.lcTripParam.Size = new System.Drawing.Size(60, 25); + this.lcTripParam.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcTripParam.Text = "Fault"; + this.lcTripParam.TextSize = new System.Drawing.Size(0, 0); + this.lcTripParam.TextVisible = false; + // + // lcWarningParam + // + this.lcWarningParam.Control = this.edWarning; + this.lcWarningParam.CustomizationFormText = "Warning"; + this.lcWarningParam.Location = new System.Drawing.Point(60, 50); + this.lcWarningParam.MaxSize = new System.Drawing.Size(60, 25); + this.lcWarningParam.MinSize = new System.Drawing.Size(60, 25); + this.lcWarningParam.Name = "lcWarningParam"; + this.lcWarningParam.Size = new System.Drawing.Size(60, 25); + this.lcWarningParam.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcWarningParam.Text = "Warning"; + this.lcWarningParam.TextSize = new System.Drawing.Size(0, 0); + this.lcWarningParam.TextVisible = false; + // + // lcReleaseParam + // + this.lcReleaseParam.Control = this.edRelease; + this.lcReleaseParam.CustomizationFormText = "Release"; + this.lcReleaseParam.Location = new System.Drawing.Point(60, 75); + this.lcReleaseParam.MaxSize = new System.Drawing.Size(60, 25); + this.lcReleaseParam.MinSize = new System.Drawing.Size(60, 25); + this.lcReleaseParam.Name = "lcReleaseParam"; + this.lcReleaseParam.Size = new System.Drawing.Size(60, 25); + this.lcReleaseParam.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcReleaseParam.Text = "Release"; + this.lcReleaseParam.TextSize = new System.Drawing.Size(0, 0); + this.lcReleaseParam.TextVisible = false; + // + // emptySpaceItem1 + // + this.emptySpaceItem1.AllowHotTrack = false; + this.emptySpaceItem1.CustomizationFormText = "emptySpaceItem1"; + this.emptySpaceItem1.Location = new System.Drawing.Point(0, 100); + this.emptySpaceItem1.MinSize = new System.Drawing.Size(1, 1); + this.emptySpaceItem1.Name = "emptySpaceItem1"; + this.emptySpaceItem1.Size = new System.Drawing.Size(211, 12); + this.emptySpaceItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlItem5 + // + this.layoutControlItem5.Control = this.btnSet; + this.layoutControlItem5.CustomizationFormText = "layoutControlItem5"; + this.layoutControlItem5.Location = new System.Drawing.Point(131, 112); + this.layoutControlItem5.MaxSize = new System.Drawing.Size(80, 30); + this.layoutControlItem5.MinSize = new System.Drawing.Size(80, 30); + this.layoutControlItem5.Name = "layoutControlItem5"; + this.layoutControlItem5.Size = new System.Drawing.Size(80, 30); + this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem5.TextVisible = false; + // + // emptySpaceItem2 + // + this.emptySpaceItem2.AllowHotTrack = false; + this.emptySpaceItem2.CustomizationFormText = "emptySpaceItem2"; + this.emptySpaceItem2.Location = new System.Drawing.Point(0, 112); + this.emptySpaceItem2.MinSize = new System.Drawing.Size(1, 1); + this.emptySpaceItem2.Name = "emptySpaceItem2"; + this.emptySpaceItem2.Size = new System.Drawing.Size(131, 30); + this.emptySpaceItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0); + // + // lbTripUnit + // + this.lbTripUnit.AllowHotTrack = false; + this.lbTripUnit.AppearanceItemCaption.Options.UseTextOptions = true; + this.lbTripUnit.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.lbTripUnit.CustomizationFormText = "-"; + this.lbTripUnit.Location = new System.Drawing.Point(180, 25); + this.lbTripUnit.MaxSize = new System.Drawing.Size(31, 25); + this.lbTripUnit.MinSize = new System.Drawing.Size(31, 25); + this.lbTripUnit.Name = "lbTripUnit"; + this.lbTripUnit.Size = new System.Drawing.Size(31, 25); + this.lbTripUnit.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lbTripUnit.Text = "-"; + this.lbTripUnit.TextSize = new System.Drawing.Size(45, 14); + // + // lbWarningUnit + // + this.lbWarningUnit.AllowHotTrack = false; + this.lbWarningUnit.AppearanceItemCaption.Options.UseTextOptions = true; + this.lbWarningUnit.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.lbWarningUnit.CustomizationFormText = "-"; + this.lbWarningUnit.Location = new System.Drawing.Point(180, 50); + this.lbWarningUnit.MaxSize = new System.Drawing.Size(31, 25); + this.lbWarningUnit.MinSize = new System.Drawing.Size(31, 25); + this.lbWarningUnit.Name = "lbWarningUnit"; + this.lbWarningUnit.Size = new System.Drawing.Size(31, 25); + this.lbWarningUnit.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lbWarningUnit.Text = "-"; + this.lbWarningUnit.TextSize = new System.Drawing.Size(45, 14); + // + // lbReleaseUnit + // + this.lbReleaseUnit.AllowHotTrack = false; + this.lbReleaseUnit.AppearanceItemCaption.Options.UseTextOptions = true; + this.lbReleaseUnit.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.lbReleaseUnit.CustomizationFormText = "-"; + this.lbReleaseUnit.Location = new System.Drawing.Point(180, 75); + this.lbReleaseUnit.MaxSize = new System.Drawing.Size(31, 25); + this.lbReleaseUnit.MinSize = new System.Drawing.Size(31, 25); + this.lbReleaseUnit.Name = "lbReleaseUnit"; + this.lbReleaseUnit.Size = new System.Drawing.Size(31, 25); + this.lbReleaseUnit.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lbReleaseUnit.Text = "-"; + this.lbReleaseUnit.TextSize = new System.Drawing.Size(45, 14); + // + // lcTripParamNew + // + this.lcTripParamNew.Control = this.edTripNew; + this.lcTripParamNew.CustomizationFormText = "layoutControlItem1"; + this.lcTripParamNew.Location = new System.Drawing.Point(120, 25); + this.lcTripParamNew.MaxSize = new System.Drawing.Size(60, 25); + this.lcTripParamNew.MinSize = new System.Drawing.Size(60, 25); + this.lcTripParamNew.Name = "lcTripParamNew"; + this.lcTripParamNew.Size = new System.Drawing.Size(60, 25); + this.lcTripParamNew.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcTripParamNew.TextSize = new System.Drawing.Size(0, 0); + this.lcTripParamNew.TextVisible = false; + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.edWarningNew; + this.layoutControlItem2.CustomizationFormText = "layoutControlItem2"; + this.layoutControlItem2.Location = new System.Drawing.Point(120, 50); + this.layoutControlItem2.MaxSize = new System.Drawing.Size(60, 25); + this.layoutControlItem2.MinSize = new System.Drawing.Size(60, 25); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(60, 25); + this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // lcReleaseParamNew + // + this.lcReleaseParamNew.Control = this.edReleaseNew; + this.lcReleaseParamNew.CustomizationFormText = "layoutControlItem3"; + this.lcReleaseParamNew.Location = new System.Drawing.Point(120, 75); + this.lcReleaseParamNew.MaxSize = new System.Drawing.Size(60, 25); + this.lcReleaseParamNew.MinSize = new System.Drawing.Size(60, 25); + this.lcReleaseParamNew.Name = "lcReleaseParamNew"; + this.lcReleaseParamNew.Size = new System.Drawing.Size(60, 25); + this.lcReleaseParamNew.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcReleaseParamNew.TextSize = new System.Drawing.Size(0, 0); + this.lcReleaseParamNew.TextVisible = false; + // + // lbCurr + // + this.lbCurr.AllowHotTrack = false; + this.lbCurr.AppearanceItemCaption.Options.UseTextOptions = true; + this.lbCurr.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.lbCurr.CustomizationFormText = "LabelsimpleLabelItem2"; + this.lbCurr.Location = new System.Drawing.Point(60, 0); + this.lbCurr.MaxSize = new System.Drawing.Size(60, 25); + this.lbCurr.MinSize = new System.Drawing.Size(60, 25); + this.lbCurr.Name = "lbCurr"; + this.lbCurr.Size = new System.Drawing.Size(60, 25); + this.lbCurr.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lbCurr.Text = "Current"; + this.lbCurr.TextSize = new System.Drawing.Size(45, 14); + // + // lbNew + // + this.lbNew.AllowHotTrack = false; + this.lbNew.AppearanceItemCaption.Options.UseTextOptions = true; + this.lbNew.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.lbNew.CustomizationFormText = "LabelsimpleLabelItem1"; + this.lbNew.Location = new System.Drawing.Point(120, 0); + this.lbNew.MaxSize = new System.Drawing.Size(60, 25); + this.lbNew.MinSize = new System.Drawing.Size(60, 25); + this.lbNew.Name = "lbNew"; + this.lbNew.Size = new System.Drawing.Size(60, 25); + this.lbNew.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lbNew.Text = "New"; + this.lbNew.TextSize = new System.Drawing.Size(45, 14); + // + // emptySpaceItem3 + // + this.emptySpaceItem3.AllowHotTrack = false; + this.emptySpaceItem3.CustomizationFormText = "emptySpaceItem3"; + this.emptySpaceItem3.Location = new System.Drawing.Point(0, 0); + this.emptySpaceItem3.MaxSize = new System.Drawing.Size(60, 25); + this.emptySpaceItem3.MinSize = new System.Drawing.Size(60, 25); + this.emptySpaceItem3.Name = "emptySpaceItem3"; + this.emptySpaceItem3.Size = new System.Drawing.Size(60, 25); + this.emptySpaceItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.emptySpaceItem3.TextSize = new System.Drawing.Size(0, 0); + // + // emptySpaceItem4 + // + this.emptySpaceItem4.AllowHotTrack = false; + this.emptySpaceItem4.CustomizationFormText = "emptySpaceItem4"; + this.emptySpaceItem4.Location = new System.Drawing.Point(180, 0); + this.emptySpaceItem4.Name = "emptySpaceItem4"; + this.emptySpaceItem4.Size = new System.Drawing.Size(31, 25); + this.emptySpaceItem4.TextSize = new System.Drawing.Size(0, 0); + // + // lbFault + // + this.lbFault.AllowHotTrack = false; + this.lbFault.CustomizationFormText = "Fault"; + this.lbFault.Location = new System.Drawing.Point(0, 25); + this.lbFault.MaxSize = new System.Drawing.Size(60, 25); + this.lbFault.MinSize = new System.Drawing.Size(60, 25); + this.lbFault.Name = "lbFault"; + this.lbFault.Size = new System.Drawing.Size(60, 25); + this.lbFault.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lbFault.Text = "Fault"; + this.lbFault.TextSize = new System.Drawing.Size(45, 14); + // + // lbWarning + // + this.lbWarning.AllowHotTrack = false; + this.lbWarning.CustomizationFormText = "Warning"; + this.lbWarning.Location = new System.Drawing.Point(0, 50); + this.lbWarning.MaxSize = new System.Drawing.Size(60, 25); + this.lbWarning.MinSize = new System.Drawing.Size(60, 25); + this.lbWarning.Name = "lbWarning"; + this.lbWarning.Size = new System.Drawing.Size(60, 25); + this.lbWarning.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lbWarning.Text = "Warning"; + this.lbWarning.TextSize = new System.Drawing.Size(45, 14); + // + // lbRelease + // + this.lbRelease.AllowHotTrack = false; + this.lbRelease.CustomizationFormText = "Release"; + this.lbRelease.Location = new System.Drawing.Point(0, 75); + this.lbRelease.MaxSize = new System.Drawing.Size(60, 25); + this.lbRelease.MinSize = new System.Drawing.Size(60, 25); + this.lbRelease.Name = "lbRelease"; + this.lbRelease.Size = new System.Drawing.Size(60, 25); + this.lbRelease.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lbRelease.Text = "Release"; + this.lbRelease.TextSize = new System.Drawing.Size(45, 14); + // + // ucParamSet + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.gbParamSet); + this.Name = "ucParamSet"; + this.Size = new System.Drawing.Size(219, 171); + ((System.ComponentModel.ISupportInitialize)(this.gbParamSet)).EndInit(); + this.gbParamSet.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.edReleaseNew.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.edWarningNew.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.edTripNew.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.edRelease.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.edWarning.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.edTrip.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcTripParam)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcWarningParam)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcReleaseParam)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbTripUnit)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbWarningUnit)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbReleaseUnit)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcTripParamNew)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcReleaseParamNew)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbCurr)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbNew)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbFault)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbWarning)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbRelease)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraEditors.GroupControl gbParamSet; + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraEditors.TextEdit edRelease; + private DevExpress.XtraEditors.TextEdit edWarning; + private DevExpress.XtraEditors.TextEdit edTrip; + private DevExpress.XtraLayout.LayoutControlItem lcTripParam; + private DevExpress.XtraLayout.LayoutControlItem lcWarningParam; + private DevExpress.XtraLayout.LayoutControlItem lcReleaseParam; + private DevExpress.XtraEditors.SimpleButton btnSet; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2; + private DevExpress.XtraLayout.SimpleLabelItem lbTripUnit; + private DevExpress.XtraLayout.SimpleLabelItem lbWarningUnit; + private DevExpress.XtraLayout.SimpleLabelItem lbReleaseUnit; + private DevExpress.XtraEditors.TextEdit edReleaseNew; + private DevExpress.XtraEditors.TextEdit edWarningNew; + private DevExpress.XtraEditors.TextEdit edTripNew; + private DevExpress.XtraLayout.LayoutControlItem lcTripParamNew; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraLayout.LayoutControlItem lcReleaseParamNew; + private DevExpress.XtraLayout.SimpleLabelItem lbCurr; + private DevExpress.XtraLayout.SimpleLabelItem lbNew; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem3; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem4; + private DevExpress.XtraLayout.SimpleLabelItem lbFault; + private DevExpress.XtraLayout.SimpleLabelItem lbWarning; + private DevExpress.XtraLayout.SimpleLabelItem lbRelease; + + } +} diff --git a/LFP_Manager/Controls/ucParamSet.cs b/LFP_Manager/Controls/ucParamSet.cs new file mode 100644 index 0000000..0d450f3 --- /dev/null +++ b/LFP_Manager/Controls/ucParamSet.cs @@ -0,0 +1,289 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +using LFP_Manager.DataStructure; +using LFP_Manager.Function; +using LFP_Manager.Utils; + +namespace LFP_Manager.Controls +{ + public delegate void setUpdate(object sender); + public delegate void setCommand(int mode, int flag, ParamData aParam); + + public struct ParamData + { + public short Fault; + public short Warning; + public short Release; + public short Time; + } + + public partial class ucParamSet : UserControl + { + #region VARIABLES + + int id = 0; + ParamData rParam; + ParamData wParam; + + public int wFlag = 0; + + public event setCommand OnCommand = null; + + #endregion + + #region CONSTRUCTORS + + public ucParamSet() + { + InitializeComponent(); + } + + #endregion + + #region EXT EVENT FUNCTION + + private void OnCommnadEvent(int mode, int flag, ParamData aParam) + { + OnCommand?.Invoke(mode, flag, aParam); + } + + #endregion + + #region BUTTON EVENT + + private void btnRead_Click(object sender, EventArgs e) + { + OnCommnadEvent(id, 0, rParam); + } + + private void btnSet_Click(object sender, EventArgs e) + { + if ((edTripNew.Text == "") || (edWarningNew.Text == "") || (edReleaseNew.Text == "")) + { + return; + } + wParam = rParam; + OnCommnadEvent(id, 1, MakeNewParam(id)); + } + + private ParamData MakeNewParam(int aId) + { + switch (aId) + { + case 0: // Cell Over Voltage + case 1: // Cell Under Voltage + wParam.Fault = Convert.ToInt16(edTripNew.Text); + wParam.Warning = Convert.ToInt16(edWarningNew.Text); + wParam.Release = Convert.ToInt16(edReleaseNew.Text); + break; + case 2: // System Over Voltage + case 3: // System Under Voltage + wParam.Fault = (short)(Convert.ToDouble(edTripNew.Text) * 10); + wParam.Warning = (short)(Convert.ToDouble(edWarningNew.Text) * 10); + wParam.Release = (short)(Convert.ToDouble(edReleaseNew.Text) * 10); + break; + case 4: // Charge High Temperature + case 5: // Charge Loq Temperature + case 6: // Discharge High Temperature + case 7: // Discharge Low Temperature + case 10: // Low SOC + case 11: // Low SOC + wParam.Fault = Convert.ToInt16(edTripNew.Text); + wParam.Warning = Convert.ToInt16(edWarningNew.Text); + wParam.Release = Convert.ToInt16(edReleaseNew.Text); + break; + case 8: // Charge Over Current + case 9: // Discharge Over Current + wParam.Fault = (short)(Convert.ToDouble(edTripNew.Text) * 10); + wParam.Warning = (short)(Convert.ToDouble(edWarningNew.Text) * 10); + wParam.Release = (short)(Convert.ToDouble(edReleaseNew.Text) * 1); + break; + } + return wParam; + } + + #endregion + + #region PUBLIC FUCTIONS + + public void SetId(int aId) + { + id = aId; + } + + public void UpdateData(ParamData aParam) + { + rParam = aParam; + DisplayParam(); + UpdateNewParam(); + } + + public void VisibleItem(int item, bool flag) + { + switch (item) + { + case 0: + lbFault.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; + lcTripParam.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; + lcTripParamNew.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; + lbTripUnit.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; + break; + case 1: + edWarning.Enabled = flag; + edWarningNew.Enabled = flag; + break; + case 2: + lbRelease.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; + lcReleaseParam.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; + lcReleaseParamNew.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; + lbReleaseUnit.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; + break; + } + } + + public void EnableItem(int item, bool flag) + { + switch (item) + { + case 0: + edTrip.Enabled = flag; + edTripNew.Enabled = flag; + break; + case 1: + edWarning.Enabled = flag; + edWarningNew.Enabled = flag; + break; + case 2: + edRelease.Enabled = flag; + edReleaseNew.Enabled = flag; + break; + } + } + + public void EnableDisableSetBtn(bool flag) + { + btnSet.Enabled = flag; + } + + public void SetParamName(int no, string nm) + { + switch (no) + { + case 0: + gbParamSet.Text = nm; + + if ((nm == "Charge Over Current") || (nm == "Discharge Over Current")) + { + lbFault.Text = "Fault 2"; + lbWarning.Text = "Fault 1"; + } + break; + case 1: + lbTripUnit.Text = nm; + lbWarningUnit.Text = nm; + if (nm == "A") + lbReleaseUnit.Text = "S"; + else + lbReleaseUnit.Text = nm; + break; + } + } + + #endregion + + #region DISPLAY + + private void DisplayParam() + { + ParamData Param = new ParamData(); + Param = rParam; + + switch (id) + { + case 0: + case 1: + edTrip.Text = String.Format("{0}", Param.Fault); + edWarning.Text = String.Format("{0}", Param.Warning); + edRelease.Text = String.Format("{0}", Param.Release); + break; + case 2: + case 3: + edTrip.Text = String.Format("{0:#0.0}", (float)Param.Fault / 10); + edWarning.Text = String.Format("{0:#0.0}", (float)Param.Warning / 10); + edRelease.Text = String.Format("{0:#0.0}", (float)Param.Release / 10); + break; + case 4: + case 5: + case 6: + case 7: + case 10: + case 11: + edTrip.Text = String.Format("{0}", Param.Fault); + edWarning.Text = String.Format("{0}", Param.Warning); + edRelease.Text = String.Format("{0}", Param.Release); + break; + case 8: // Charge Over Current + case 9: // Discharge Over Current + edTrip.Text = String.Format("{0:#0.0}", (float)Param.Fault / 10); + edWarning.Text = String.Format("{0:#0.0}", (float)Param.Warning / 10); + edRelease.Text = String.Format("{0}", (float)Param.Release / 1); + break; + } + } + + private void UpdateNewParam() + { + if (wFlag == 0) + { + ParamData Param = rParam; + + switch (id) + { + case 0: + case 1: + edTripNew.Text = String.Format("{0}", Param.Fault); + edWarningNew.Text = String.Format("{0}", Param.Warning); + edReleaseNew.Text = String.Format("{0}", Param.Release); + break; + case 2: + case 3: + edTripNew.Text = String.Format("{0:#0.0}", (float)Param.Fault / 10); + edWarningNew.Text = String.Format("{0:#0.0}", (float)Param.Warning / 10); + edReleaseNew.Text = String.Format("{0:#0.0}", (float)Param.Release / 10); + break; + case 4: + case 5: + case 6: + case 7: + case 10: + case 11: + edTripNew.Text = String.Format("{0}", Param.Fault); + edWarningNew.Text = String.Format("{0}", Param.Warning); + edReleaseNew.Text = String.Format("{0}", Param.Release); + break; + case 8: + case 9: + edTripNew.Text = String.Format("{0:#0.0}", (float)Param.Fault / 10); + edWarningNew.Text = String.Format("{0:#0.0}", (float)Param.Warning / 10); + edReleaseNew.Text = String.Format("{0}", (float)Param.Release / 1); + break; + } + wFlag = 1; + } + } + + #endregion + + private void TextBox_KeyPress(object sender, KeyPressEventArgs e) + { + //csUtils.TypingOnlyNumber(sender, e, true, true); + } + } +} diff --git a/LFP_Manager/Controls/ucParamSet.resx b/LFP_Manager/Controls/ucParamSet.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/LFP_Manager/Controls/ucParamSet.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/LFP_Manager/Controls/ucSerialProcess.Designer.cs b/LFP_Manager/Controls/ucSerialProcess.Designer.cs new file mode 100644 index 0000000..331adc0 --- /dev/null +++ b/LFP_Manager/Controls/ucSerialProcess.Designer.cs @@ -0,0 +1,37 @@ +namespace LFP_Manager.Controls +{ + partial class ucSerialProcess + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + } + + #endregion + } +} diff --git a/LFP_Manager/Controls/ucSerialProcess.cs b/LFP_Manager/Controls/ucSerialProcess.cs new file mode 100644 index 0000000..a4ec1be --- /dev/null +++ b/LFP_Manager/Controls/ucSerialProcess.cs @@ -0,0 +1,283 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Text; +using System.Linq; +using System.Windows.Forms; +using DevExpress.XtraEditors; + +using System.Threading; +using System.IO.Ports; + +using LFP_Manager.DataStructure; +using LFP_Manager.Function; +using LFP_Manager.Utils; + +namespace LFP_Manager.Controls +{ + public delegate void DataUpdate(object sender, DeviceSystemData[] aSystemData); + + public partial class ucSerialProcess : DevExpress.XtraEditors.XtraUserControl + { + #region VARIABLES + + DeviceSystemData[] SystemData; + + //Thread serialComm = null; + SerialPort sPort = null; + //string CommPort = null; + + bool SerialPortThreadEnd = false; + + public event DataUpdate OnUpdate = null; + + #endregion + + #region CONSTRUCTORS + + public ucSerialProcess(DeviceSystemData[] aSystemData) + { + InitializeComponent(); + + SystemData = aSystemData; + } + + #endregion + + #region COMMPORT CONTROLS + + private bool Open(string cPort, int cBaudrate) + { + bool result = false; + + sPort = new SerialPort(); + sPort.PortName = cPort; + sPort.BaudRate = cBaudrate; + + try + { + sPort.Open(); + + result = true; + } + catch (Exception) + { + } + + return result; + } + + private void Close() + { + if (sPort != null) + { + if (sPort.IsOpen) + { + sPort.Close(); + } + sPort = null; + } + } + + #endregion + + #region Serial Comm Thread + + ushort RequestRegAddr = 0x0000; + ushort RequestRegLen = 50; + int SS, bakSS; + + private int SerialTxProcess() + { + byte[] sData; + + SS = DateTime.Now.Second; + + if ((SS == 58) && (bakSS != SS)) + { + // Write + RequestRegAddr = 19; + RequestRegLen = 5; + sData = csSerialCommFunction.MakeWriteRegisterData(0xFF, RequestRegAddr, RequestRegLen); + sPort.Write(sData, 0, sData.Length); + bakSS = SS; + + return 0; + } + else + { + // Read + RequestRegAddr = 0x0000; + RequestRegLen = 50; + sData = csSerialCommFunction.MakeReadRegisterData(0x01, RequestRegAddr, RequestRegLen); + sPort.Write(sData, 0, sData.Length); + bakSS = SS; + + return 1; + } + } + + #region Serial Buffering + + private void PutBuff(byte c) + { + rBuffer[rBufStart++] = c; + rBufStart %= BUFFER_SIZE; + + if (rBufStart == rBufEnd) + { + rBufEnd++; + rBufEnd %= BUFFER_SIZE; + } + } + + private int GetBuff() + { + int result = 0; + + if (rBufStart != rBufEnd) + { + result = 0x0100 + rBuffer[rBufEnd++]; + rBufEnd %= BUFFER_SIZE; + } + return result; + } + + #endregion + + const int BUFFER_SIZE = 512; + + byte[] rBuffer = new byte[BUFFER_SIZE]; + int rBufStart = 0; + int rBufEnd = 0; + + byte[] ReadBuf = new byte[BUFFER_SIZE]; + ushort rPosition = 0; + bool Commfail = true; + bool disCommfail = false; + + ushort BTCU_ID = 1; + + private void serialRecvThread() + { + int getData = 0; + byte cData = 0; + bool BuffStart = false; + int TimeOutCount = 0; + + while (SerialPortThreadEnd == false) + { +StartSend: + if (sPort.IsOpen) + { + if (SerialTxProcess() == 1) + { + int rTimeOut = 100; + + BuffStart = false; + rPosition = 0; + + while (rTimeOut > 0) + { + if (((getData = GetBuff()) & 0x0100) != 0x0000) + { + rTimeOut = 100; + TimeOutCount = 0; + + cData = (byte)(getData & 0x00FF); + + if (rPosition >= BUFFER_SIZE) + { + BuffStart = false; + rPosition = 0; + } + + if (BuffStart == false) + { + rPosition = 0; + if (cData == 0x01) + { + ReadBuf[rPosition++] = cData; + BuffStart = true; + } + } + else + { + ReadBuf[rPosition++] = cData; + + switch (csSerialCommFunction.ModbusPacketFromSlaveCheck(ReadBuf, rPosition)) + { + case 0: // Need more data + break; + case 1: // Packet OK, no error + byte[] cdata = csUtils.StrToByteArray(ReadBuf, 0, rPosition - 2); + + Commfail = false; + SystemData[0] = csSerialCommFunction.SerialRxProcess(ReadBuf, RequestRegAddr, rPosition, SystemData[0]); + + if (OnUpdate != null) + { + OnUpdate(this, SystemData); + } + + Thread.Sleep(100); + + goto StartSend; + case -1: // Packet error + rPosition = 0; + BuffStart = false; + + Thread.Sleep(100); + + goto StartSend; + default: + break; + } + } + } + else + { + Thread.Sleep(1); + if (rTimeOut > 0) rTimeOut--; + } + } + + if (rPosition > 0) + { + Thread.Sleep(100); + } + else + { + TimeOutCount++; + if (TimeOutCount >= 5) + { + TimeOutCount = 5; + Commfail = true; + } + //if (Commfail == true) + //{ + // BTCU_ID++; + // BTCU_ID %= 31; + // if (BTCU_ID == 0) BTCU_ID = 1; + //} + Thread.Sleep(100); + } + } + else + { + Thread.Sleep(100); + } + rPosition = 0; + } + else + { + Thread.Sleep(500); + } + } + } + + #endregion + } +} diff --git a/LFP_Manager/Controls/ucShelfStatus.Designer.cs b/LFP_Manager/Controls/ucShelfStatus.Designer.cs new file mode 100644 index 0000000..632f21c --- /dev/null +++ b/LFP_Manager/Controls/ucShelfStatus.Designer.cs @@ -0,0 +1,1057 @@ +namespace LFP_Manager.Controls +{ + partial class ucShelfStatus + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ucShelfStatus)); + DevExpress.XtraCharts.XYDiagram xyDiagram1 = new DevExpress.XtraCharts.XYDiagram(); + DevExpress.XtraCharts.Series series1 = new DevExpress.XtraCharts.Series(); + DevExpress.XtraCharts.Series series2 = new DevExpress.XtraCharts.Series(); + DevExpress.XtraCharts.XYDiagram xyDiagram2 = new DevExpress.XtraCharts.XYDiagram(); + DevExpress.XtraCharts.Series series3 = new DevExpress.XtraCharts.Series(); + DevExpress.XtraCharts.Series series4 = new DevExpress.XtraCharts.Series(); + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.pictureEdit1 = new DevExpress.XtraEditors.PictureEdit(); + this.btnCalib = new DevExpress.XtraEditors.SimpleButton(); + this.gbEtc = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl6 = new DevExpress.XtraLayout.LayoutControl(); + this.lbAmbTemp = new DevExpress.XtraEditors.LabelControl(); + this.lbFetTemp = new DevExpress.XtraEditors.LabelControl(); + this.layoutControlGroup6 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem22 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem23 = new DevExpress.XtraLayout.LayoutControlItem(); + this.btnParam = new DevExpress.XtraEditors.SimpleButton(); + this.gbStatusAlarm = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl3 = new DevExpress.XtraLayout.LayoutControl(); + this.panelControl2 = new DevExpress.XtraEditors.PanelControl(); + this.lbAlarm = new DevExpress.XtraEditors.LabelControl(); + this.panelControl1 = new DevExpress.XtraEditors.PanelControl(); + this.lbStatus = new DevExpress.XtraEditors.LabelControl(); + this.layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.lcitemStatus = new DevExpress.XtraLayout.LayoutControlItem(); + this.lcitemAlarm = new DevExpress.XtraLayout.LayoutControlItem(); + this.gbDetail = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl4 = new DevExpress.XtraLayout.LayoutControl(); + this.TChart = new DevExpress.XtraCharts.ChartControl(); + this.VChart = new DevExpress.XtraCharts.ChartControl(); + this.layoutControlGroup4 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem(); + this.gbValue = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl2 = new DevExpress.XtraLayout.LayoutControl(); + this.gaugeControl5 = new DevExpress.XtraGauges.Win.GaugeControl(); + this.digitalBackgroundLayerComponent5 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent(); + this.gaugeControl4 = new DevExpress.XtraGauges.Win.GaugeControl(); + this.digitalBackgroundLayerComponent4 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent(); + this.gaugeControl3 = new DevExpress.XtraGauges.Win.GaugeControl(); + this.digitalBackgroundLayerComponent3 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent(); + this.gaugeControl2 = new DevExpress.XtraGauges.Win.GaugeControl(); + this.digitalBackgroundLayerComponent2 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent(); + this.gaugeControl1 = new DevExpress.XtraGauges.Win.GaugeControl(); + this.digitalBackgroundLayerComponent1 = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent(); + this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem24 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.lcitemValue = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.icitemStatusAlarm = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem19 = new DevExpress.XtraLayout.LayoutControlItem(); + this.lbHeatbeat = new DevExpress.XtraLayout.SimpleLabelItem(); + this.layoutControlItem21 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem20 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlGroup7 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem25 = new DevExpress.XtraLayout.LayoutControlItem(); + this.tmrDisplay = new System.Windows.Forms.Timer(this.components); + this.FaultAlarmGroup = new LFP_Manager.Controls.UcFaultAlarmGroup(); + this.dgSOH = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge(); + this.dgTemperature = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge(); + this.dgSOC = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge(); + this.dgCurrent = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge(); + this.dgVoltage = new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge(); + this.layoutControlItem26 = new DevExpress.XtraLayout.LayoutControlItem(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureEdit1.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbEtc)).BeginInit(); + this.gbEtc.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl6)).BeginInit(); + this.layoutControl6.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem22)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem23)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbStatusAlarm)).BeginInit(); + this.gbStatusAlarm.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).BeginInit(); + this.layoutControl3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.panelControl2)).BeginInit(); + this.panelControl2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.panelControl1)).BeginInit(); + this.panelControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemStatus)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemAlarm)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbDetail)).BeginInit(); + this.gbDetail.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl4)).BeginInit(); + this.layoutControl4.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.TChart)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(xyDiagram1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(series1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(series2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.VChart)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(xyDiagram2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(series3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(series4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbValue)).BeginInit(); + this.gbValue.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).BeginInit(); + this.layoutControl2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem24)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemValue)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.icitemStatusAlarm)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem19)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbHeatbeat)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem21)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem20)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup7)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem25)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgSOH)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgTemperature)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgSOC)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgCurrent)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgVoltage)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem26)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.AllowCustomization = false; + this.layoutControl1.Controls.Add(this.FaultAlarmGroup); + this.layoutControl1.Controls.Add(this.pictureEdit1); + this.layoutControl1.Controls.Add(this.btnCalib); + this.layoutControl1.Controls.Add(this.gbEtc); + this.layoutControl1.Controls.Add(this.btnParam); + this.layoutControl1.Controls.Add(this.gbStatusAlarm); + this.layoutControl1.Controls.Add(this.gbDetail); + this.layoutControl1.Controls.Add(this.gbValue); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1049, 447, 692, 350); + this.layoutControl1.Root = this.layoutControlGroup1; + this.layoutControl1.Size = new System.Drawing.Size(1300, 572); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // pictureEdit1 + // + this.pictureEdit1.EditValue = ((object)(resources.GetObject("pictureEdit1.EditValue"))); + this.pictureEdit1.Location = new System.Drawing.Point(1158, 30); + this.pictureEdit1.Name = "pictureEdit1"; + this.pictureEdit1.Properties.ReadOnly = true; + this.pictureEdit1.Properties.ShowCameraMenuItem = DevExpress.XtraEditors.Controls.CameraMenuItemVisibility.Auto; + this.pictureEdit1.Properties.ShowMenu = false; + this.pictureEdit1.Properties.SizeMode = DevExpress.XtraEditors.Controls.PictureSizeMode.Stretch; + this.pictureEdit1.Size = new System.Drawing.Size(133, 87); + this.pictureEdit1.StyleController = this.layoutControl1; + this.pictureEdit1.TabIndex = 14; + // + // btnCalib + // + this.btnCalib.Location = new System.Drawing.Point(1199, 191); + this.btnCalib.Name = "btnCalib"; + this.btnCalib.Size = new System.Drawing.Size(98, 31); + this.btnCalib.StyleController = this.layoutControl1; + this.btnCalib.TabIndex = 11; + this.btnCalib.Text = "Calib"; + this.btnCalib.Click += new System.EventHandler(this.btnCalibration_Click); + // + // gbEtc + // + this.gbEtc.Controls.Add(this.layoutControl6); + this.gbEtc.Location = new System.Drawing.Point(1075, 127); + this.gbEtc.Name = "gbEtc"; + this.gbEtc.Size = new System.Drawing.Size(120, 95); + this.gbEtc.TabIndex = 10; + this.gbEtc.Text = "BMS-Temp"; + // + // layoutControl6 + // + this.layoutControl6.AllowCustomization = false; + this.layoutControl6.Controls.Add(this.lbAmbTemp); + this.layoutControl6.Controls.Add(this.lbFetTemp); + this.layoutControl6.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl6.Location = new System.Drawing.Point(2, 23); + this.layoutControl6.Name = "layoutControl6"; + this.layoutControl6.Root = this.layoutControlGroup6; + this.layoutControl6.Size = new System.Drawing.Size(116, 70); + this.layoutControl6.TabIndex = 0; + this.layoutControl6.Text = "layoutControl6"; + // + // lbAmbTemp + // + this.lbAmbTemp.Location = new System.Drawing.Point(4, 36); + this.lbAmbTemp.Name = "lbAmbTemp"; + this.lbAmbTemp.Size = new System.Drawing.Size(108, 30); + this.lbAmbTemp.StyleController = this.layoutControl6; + this.lbAmbTemp.TabIndex = 5; + // + // lbFetTemp + // + this.lbFetTemp.Location = new System.Drawing.Point(4, 4); + this.lbFetTemp.Name = "lbFetTemp"; + this.lbFetTemp.Size = new System.Drawing.Size(108, 28); + this.lbFetTemp.StyleController = this.layoutControl6; + this.lbFetTemp.TabIndex = 4; + this.lbFetTemp.Text = " CPU: 0C"; + // + // layoutControlGroup6 + // + this.layoutControlGroup6.CustomizationFormText = "layoutControlGroup6"; + this.layoutControlGroup6.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup6.GroupBordersVisible = false; + this.layoutControlGroup6.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem22, + this.layoutControlItem23}); + this.layoutControlGroup6.Name = "layoutControlGroup6"; + this.layoutControlGroup6.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2); + this.layoutControlGroup6.Size = new System.Drawing.Size(116, 70); + this.layoutControlGroup6.TextVisible = false; + // + // layoutControlItem22 + // + this.layoutControlItem22.Control = this.lbFetTemp; + this.layoutControlItem22.CustomizationFormText = "layoutControlItem22"; + this.layoutControlItem22.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem22.MinSize = new System.Drawing.Size(74, 18); + this.layoutControlItem22.Name = "layoutControlItem22"; + this.layoutControlItem22.Size = new System.Drawing.Size(112, 32); + this.layoutControlItem22.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem22.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem22.TextVisible = false; + // + // layoutControlItem23 + // + this.layoutControlItem23.Control = this.lbAmbTemp; + this.layoutControlItem23.CustomizationFormText = "layoutControlItem23"; + this.layoutControlItem23.Location = new System.Drawing.Point(0, 32); + this.layoutControlItem23.MinSize = new System.Drawing.Size(74, 18); + this.layoutControlItem23.Name = "layoutControlItem23"; + this.layoutControlItem23.Size = new System.Drawing.Size(112, 34); + this.layoutControlItem23.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem23.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem23.TextVisible = false; + // + // btnParam + // + this.btnParam.Location = new System.Drawing.Point(1199, 156); + this.btnParam.Name = "btnParam"; + this.btnParam.Size = new System.Drawing.Size(98, 31); + this.btnParam.StyleController = this.layoutControl1; + this.btnParam.TabIndex = 8; + this.btnParam.Text = "Param"; + this.btnParam.Click += new System.EventHandler(this.btnParam_Click); + // + // gbStatusAlarm + // + this.gbStatusAlarm.Controls.Add(this.layoutControl3); + this.gbStatusAlarm.Location = new System.Drawing.Point(3, 127); + this.gbStatusAlarm.Name = "gbStatusAlarm"; + this.gbStatusAlarm.Size = new System.Drawing.Size(168, 95); + this.gbStatusAlarm.TabIndex = 6; + this.gbStatusAlarm.Text = "Operating Status"; + // + // layoutControl3 + // + this.layoutControl3.AllowCustomization = false; + this.layoutControl3.Controls.Add(this.panelControl2); + this.layoutControl3.Controls.Add(this.panelControl1); + this.layoutControl3.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl3.Location = new System.Drawing.Point(2, 23); + this.layoutControl3.Name = "layoutControl3"; + this.layoutControl3.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1163, 334, 250, 350); + this.layoutControl3.Root = this.layoutControlGroup3; + this.layoutControl3.Size = new System.Drawing.Size(164, 70); + this.layoutControl3.TabIndex = 0; + this.layoutControl3.Text = "layoutControl3"; + // + // panelControl2 + // + this.panelControl2.Controls.Add(this.lbAlarm); + this.panelControl2.Location = new System.Drawing.Point(44, 37); + this.panelControl2.Name = "panelControl2"; + this.panelControl2.Size = new System.Drawing.Size(117, 30); + this.panelControl2.TabIndex = 5; + // + // lbAlarm + // + this.lbAlarm.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbAlarm.Appearance.Options.UseFont = true; + this.lbAlarm.Appearance.Options.UseTextOptions = true; + this.lbAlarm.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.lbAlarm.AutoSizeMode = DevExpress.XtraEditors.LabelAutoSizeMode.None; + this.lbAlarm.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbAlarm.Location = new System.Drawing.Point(2, 2); + this.lbAlarm.Name = "lbAlarm"; + this.lbAlarm.Size = new System.Drawing.Size(113, 26); + this.lbAlarm.TabIndex = 0; + this.lbAlarm.Text = "Alarm"; + // + // panelControl1 + // + this.panelControl1.Controls.Add(this.lbStatus); + this.panelControl1.Location = new System.Drawing.Point(44, 3); + this.panelControl1.Name = "panelControl1"; + this.panelControl1.Size = new System.Drawing.Size(117, 30); + this.panelControl1.TabIndex = 4; + // + // lbStatus + // + this.lbStatus.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbStatus.Appearance.Options.UseFont = true; + this.lbStatus.Appearance.Options.UseTextOptions = true; + this.lbStatus.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.lbStatus.AutoSizeMode = DevExpress.XtraEditors.LabelAutoSizeMode.None; + this.lbStatus.Dock = System.Windows.Forms.DockStyle.Fill; + this.lbStatus.Location = new System.Drawing.Point(2, 2); + this.lbStatus.Name = "lbStatus"; + this.lbStatus.Size = new System.Drawing.Size(113, 26); + this.lbStatus.TabIndex = 0; + this.lbStatus.Text = "Status"; + // + // layoutControlGroup3 + // + this.layoutControlGroup3.CustomizationFormText = "layoutControlGroup3"; + this.layoutControlGroup3.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup3.GroupBordersVisible = false; + this.layoutControlGroup3.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.lcitemStatus, + this.lcitemAlarm}); + this.layoutControlGroup3.Name = "layoutControlGroup3"; + this.layoutControlGroup3.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup3.Size = new System.Drawing.Size(164, 70); + this.layoutControlGroup3.TextVisible = false; + // + // lcitemStatus + // + this.lcitemStatus.AppearanceItemCaption.Options.UseTextOptions = true; + this.lcitemStatus.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.lcitemStatus.Control = this.panelControl1; + this.lcitemStatus.CustomizationFormText = "Status"; + this.lcitemStatus.Location = new System.Drawing.Point(0, 0); + this.lcitemStatus.MinSize = new System.Drawing.Size(64, 26); + this.lcitemStatus.Name = "lcitemStatus"; + this.lcitemStatus.Size = new System.Drawing.Size(162, 34); + this.lcitemStatus.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcitemStatus.Text = "Status"; + this.lcitemStatus.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.lcitemStatus.TextSize = new System.Drawing.Size(40, 14); + this.lcitemStatus.TextToControlDistance = 1; + // + // lcitemAlarm + // + this.lcitemAlarm.AppearanceItemCaption.Options.UseTextOptions = true; + this.lcitemAlarm.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.lcitemAlarm.Control = this.panelControl2; + this.lcitemAlarm.CustomizationFormText = "Alarm"; + this.lcitemAlarm.Location = new System.Drawing.Point(0, 34); + this.lcitemAlarm.MinSize = new System.Drawing.Size(100, 24); + this.lcitemAlarm.Name = "lcitemAlarm"; + this.lcitemAlarm.Size = new System.Drawing.Size(162, 34); + this.lcitemAlarm.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcitemAlarm.Text = "Alarm"; + this.lcitemAlarm.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.lcitemAlarm.TextSize = new System.Drawing.Size(40, 20); + this.lcitemAlarm.TextToControlDistance = 1; + // + // gbDetail + // + this.gbDetail.Controls.Add(this.layoutControl4); + this.gbDetail.Location = new System.Drawing.Point(3, 226); + this.gbDetail.Name = "gbDetail"; + this.gbDetail.Size = new System.Drawing.Size(1294, 343); + this.gbDetail.TabIndex = 5; + this.gbDetail.Text = "Detail Status"; + // + // layoutControl4 + // + this.layoutControl4.AllowCustomization = false; + this.layoutControl4.Controls.Add(this.TChart); + this.layoutControl4.Controls.Add(this.VChart); + this.layoutControl4.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl4.Location = new System.Drawing.Point(2, 23); + this.layoutControl4.Name = "layoutControl4"; + this.layoutControl4.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1246, 275, 650, 400); + this.layoutControl4.Root = this.layoutControlGroup4; + this.layoutControl4.Size = new System.Drawing.Size(1290, 318); + this.layoutControl4.TabIndex = 0; + this.layoutControl4.Text = "layoutControl4"; + // + // TChart + // + xyDiagram1.AxisX.VisibleInPanesSerializable = "-1"; + xyDiagram1.AxisY.VisibleInPanesSerializable = "-1"; + xyDiagram1.DefaultPane.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(242)))), ((int)(((byte)(242)))), ((int)(((byte)(242))))); + this.TChart.Diagram = xyDiagram1; + this.TChart.Legend.Name = "Default Legend"; + this.TChart.Location = new System.Drawing.Point(944, 20); + this.TChart.Name = "TChart"; + series1.Name = "Series 1"; + series2.Name = "Series 2"; + this.TChart.SeriesSerializable = new DevExpress.XtraCharts.Series[] { + series1, + series2}; + this.TChart.Size = new System.Drawing.Size(343, 295); + this.TChart.TabIndex = 7; + // + // VChart + // + xyDiagram2.AxisX.VisibleInPanesSerializable = "-1"; + xyDiagram2.AxisY.MinorCount = 1; + xyDiagram2.AxisY.NumericScaleOptions.AutoGrid = false; + xyDiagram2.AxisY.NumericScaleOptions.GridSpacing = 0.1D; + xyDiagram2.AxisY.VisibleInPanesSerializable = "-1"; + xyDiagram2.AxisY.VisualRange.Auto = false; + xyDiagram2.AxisY.VisualRange.AutoSideMargins = false; + xyDiagram2.AxisY.VisualRange.EndSideMargin = 0D; + xyDiagram2.AxisY.VisualRange.MaxValueSerializable = "4"; + xyDiagram2.AxisY.VisualRange.MinValueSerializable = "2"; + xyDiagram2.AxisY.VisualRange.StartSideMargin = 0D; + xyDiagram2.DefaultPane.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(242)))), ((int)(((byte)(242)))), ((int)(((byte)(242))))); + this.VChart.Diagram = xyDiagram2; + this.VChart.Legend.Name = "Default Legend"; + this.VChart.Location = new System.Drawing.Point(3, 20); + this.VChart.Name = "VChart"; + series3.Name = "Series 1"; + series4.Name = "Series 2"; + this.VChart.SeriesSerializable = new DevExpress.XtraCharts.Series[] { + series3, + series4}; + this.VChart.Size = new System.Drawing.Size(937, 295); + this.VChart.TabIndex = 6; + // + // layoutControlGroup4 + // + this.layoutControlGroup4.CustomizationFormText = "layoutControlGroup4"; + this.layoutControlGroup4.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup4.GroupBordersVisible = false; + this.layoutControlGroup4.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem1, + this.layoutControlItem7}); + this.layoutControlGroup4.Name = "Root"; + this.layoutControlGroup4.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup4.Size = new System.Drawing.Size(1290, 318); + this.layoutControlGroup4.TextVisible = false; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.VChart; + this.layoutControlItem1.CustomizationFormText = "Cell Voltage"; + this.layoutControlItem1.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(941, 316); + this.layoutControlItem1.Text = "Cell Voltage"; + this.layoutControlItem1.TextLocation = DevExpress.Utils.Locations.Top; + this.layoutControlItem1.TextSize = new System.Drawing.Size(94, 14); + // + // layoutControlItem7 + // + this.layoutControlItem7.Control = this.TChart; + this.layoutControlItem7.Location = new System.Drawing.Point(941, 0); + this.layoutControlItem7.Name = "layoutControlItem7"; + this.layoutControlItem7.Size = new System.Drawing.Size(347, 316); + this.layoutControlItem7.Text = "Cell Temperature"; + this.layoutControlItem7.TextLocation = DevExpress.Utils.Locations.Top; + this.layoutControlItem7.TextSize = new System.Drawing.Size(94, 14); + // + // gbValue + // + this.gbValue.Controls.Add(this.layoutControl2); + this.gbValue.Location = new System.Drawing.Point(3, 3); + this.gbValue.Name = "gbValue"; + this.gbValue.Size = new System.Drawing.Size(1145, 120); + this.gbValue.TabIndex = 4; + this.gbValue.Text = "Value"; + // + // layoutControl2 + // + this.layoutControl2.AllowCustomization = false; + this.layoutControl2.Controls.Add(this.gaugeControl5); + this.layoutControl2.Controls.Add(this.gaugeControl4); + this.layoutControl2.Controls.Add(this.gaugeControl3); + this.layoutControl2.Controls.Add(this.gaugeControl2); + this.layoutControl2.Controls.Add(this.gaugeControl1); + this.layoutControl2.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl2.Location = new System.Drawing.Point(2, 23); + this.layoutControl2.Name = "layoutControl2"; + this.layoutControl2.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1123, 466, 650, 400); + this.layoutControl2.Root = this.layoutControlGroup2; + this.layoutControl2.Size = new System.Drawing.Size(1141, 95); + this.layoutControl2.TabIndex = 0; + this.layoutControl2.Text = "layoutControl2"; + // + // gaugeControl5 + // + this.gaugeControl5.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] { + this.dgSOH}); + this.gaugeControl5.Location = new System.Drawing.Point(686, 20); + this.gaugeControl5.Name = "gaugeControl5"; + this.gaugeControl5.Size = new System.Drawing.Size(223, 72); + this.gaugeControl5.TabIndex = 8; + // + // digitalBackgroundLayerComponent5 + // + this.digitalBackgroundLayerComponent5.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(265.8125F, 99.9625F); + this.digitalBackgroundLayerComponent5.Name = "digitalBackgroundLayerComponent1"; + this.digitalBackgroundLayerComponent5.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18; + this.digitalBackgroundLayerComponent5.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F); + this.digitalBackgroundLayerComponent5.ZOrder = 1000; + // + // gaugeControl4 + // + this.gaugeControl4.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] { + this.dgTemperature}); + this.gaugeControl4.Location = new System.Drawing.Point(913, 20); + this.gaugeControl4.Name = "gaugeControl4"; + this.gaugeControl4.Size = new System.Drawing.Size(225, 72); + this.gaugeControl4.TabIndex = 7; + // + // digitalBackgroundLayerComponent4 + // + this.digitalBackgroundLayerComponent4.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(265.8125F, 99.9625F); + this.digitalBackgroundLayerComponent4.Name = "digitalBackgroundLayerComponent1"; + this.digitalBackgroundLayerComponent4.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18; + this.digitalBackgroundLayerComponent4.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F); + this.digitalBackgroundLayerComponent4.ZOrder = 1000; + // + // gaugeControl3 + // + this.gaugeControl3.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] { + this.dgSOC}); + this.gaugeControl3.Location = new System.Drawing.Point(457, 20); + this.gaugeControl3.Name = "gaugeControl3"; + this.gaugeControl3.Size = new System.Drawing.Size(225, 72); + this.gaugeControl3.TabIndex = 6; + // + // digitalBackgroundLayerComponent3 + // + this.digitalBackgroundLayerComponent3.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(265.8125F, 99.9625F); + this.digitalBackgroundLayerComponent3.Name = "digitalBackgroundLayerComponent1"; + this.digitalBackgroundLayerComponent3.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18; + this.digitalBackgroundLayerComponent3.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F); + this.digitalBackgroundLayerComponent3.ZOrder = 1000; + // + // gaugeControl2 + // + this.gaugeControl2.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] { + this.dgCurrent}); + this.gaugeControl2.Location = new System.Drawing.Point(230, 20); + this.gaugeControl2.Name = "gaugeControl2"; + this.gaugeControl2.Size = new System.Drawing.Size(223, 72); + this.gaugeControl2.TabIndex = 5; + // + // digitalBackgroundLayerComponent2 + // + this.digitalBackgroundLayerComponent2.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(265.8125F, 99.9625F); + this.digitalBackgroundLayerComponent2.Name = "digitalBackgroundLayerComponent1"; + this.digitalBackgroundLayerComponent2.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18; + this.digitalBackgroundLayerComponent2.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F); + this.digitalBackgroundLayerComponent2.ZOrder = 1000; + // + // gaugeControl1 + // + this.gaugeControl1.Gauges.AddRange(new DevExpress.XtraGauges.Base.IGauge[] { + this.dgVoltage}); + this.gaugeControl1.Location = new System.Drawing.Point(3, 20); + this.gaugeControl1.Name = "gaugeControl1"; + this.gaugeControl1.Size = new System.Drawing.Size(223, 72); + this.gaugeControl1.TabIndex = 4; + // + // digitalBackgroundLayerComponent1 + // + this.digitalBackgroundLayerComponent1.BottomRight = new DevExpress.XtraGauges.Core.Base.PointF2D(265.8125F, 99.9625F); + this.digitalBackgroundLayerComponent1.Name = "digitalBackgroundLayerComponent1"; + this.digitalBackgroundLayerComponent1.ShapeType = DevExpress.XtraGauges.Core.Model.DigitalBackgroundShapeSetType.Style18; + this.digitalBackgroundLayerComponent1.TopLeft = new DevExpress.XtraGauges.Core.Base.PointF2D(26F, 0F); + this.digitalBackgroundLayerComponent1.ZOrder = 1000; + // + // layoutControlGroup2 + // + this.layoutControlGroup2.CustomizationFormText = "layoutControlGroup2"; + this.layoutControlGroup2.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup2.GroupBordersVisible = false; + this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem3, + this.layoutControlItem4, + this.layoutControlItem5, + this.layoutControlItem6, + this.layoutControlItem24}); + this.layoutControlGroup2.Name = "Root"; + this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup2.Size = new System.Drawing.Size(1141, 95); + this.layoutControlGroup2.TextVisible = false; + // + // layoutControlItem3 + // + this.layoutControlItem3.Control = this.gaugeControl1; + this.layoutControlItem3.CustomizationFormText = " Voltage"; + this.layoutControlItem3.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem3.Name = "layoutControlItem3"; + this.layoutControlItem3.Size = new System.Drawing.Size(227, 93); + this.layoutControlItem3.Text = " Voltage"; + this.layoutControlItem3.TextLocation = DevExpress.Utils.Locations.Top; + this.layoutControlItem3.TextSize = new System.Drawing.Size(76, 14); + // + // layoutControlItem4 + // + this.layoutControlItem4.Control = this.gaugeControl2; + this.layoutControlItem4.CustomizationFormText = " Current"; + this.layoutControlItem4.Location = new System.Drawing.Point(227, 0); + this.layoutControlItem4.Name = "layoutControlItem4"; + this.layoutControlItem4.Size = new System.Drawing.Size(227, 93); + this.layoutControlItem4.Text = " Current"; + this.layoutControlItem4.TextLocation = DevExpress.Utils.Locations.Top; + this.layoutControlItem4.TextSize = new System.Drawing.Size(76, 14); + // + // layoutControlItem5 + // + this.layoutControlItem5.Control = this.gaugeControl3; + this.layoutControlItem5.CustomizationFormText = " SOC"; + this.layoutControlItem5.Location = new System.Drawing.Point(454, 0); + this.layoutControlItem5.Name = "layoutControlItem5"; + this.layoutControlItem5.Size = new System.Drawing.Size(229, 93); + this.layoutControlItem5.Text = " SOC"; + this.layoutControlItem5.TextLocation = DevExpress.Utils.Locations.Top; + this.layoutControlItem5.TextSize = new System.Drawing.Size(76, 14); + // + // layoutControlItem6 + // + this.layoutControlItem6.Control = this.gaugeControl4; + this.layoutControlItem6.CustomizationFormText = " Temperature"; + this.layoutControlItem6.Location = new System.Drawing.Point(910, 0); + this.layoutControlItem6.MinSize = new System.Drawing.Size(104, 41); + this.layoutControlItem6.Name = "layoutControlItem6"; + this.layoutControlItem6.Size = new System.Drawing.Size(229, 93); + this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem6.Text = " Temperature"; + this.layoutControlItem6.TextLocation = DevExpress.Utils.Locations.Top; + this.layoutControlItem6.TextSize = new System.Drawing.Size(76, 14); + // + // layoutControlItem24 + // + this.layoutControlItem24.Control = this.gaugeControl5; + this.layoutControlItem24.CustomizationFormText = " SOH"; + this.layoutControlItem24.Location = new System.Drawing.Point(683, 0); + this.layoutControlItem24.MinSize = new System.Drawing.Size(100, 24); + this.layoutControlItem24.Name = "layoutControlItem24"; + this.layoutControlItem24.Size = new System.Drawing.Size(227, 93); + this.layoutControlItem24.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem24.Text = " SOH"; + this.layoutControlItem24.TextLocation = DevExpress.Utils.Locations.Top; + this.layoutControlItem24.TextSize = new System.Drawing.Size(76, 14); + // + // layoutControlGroup1 + // + this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1"; + this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup1.GroupBordersVisible = false; + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.lcitemValue, + this.layoutControlItem2, + this.icitemStatusAlarm, + this.layoutControlItem19, + this.lbHeatbeat, + this.layoutControlItem21, + this.layoutControlItem20, + this.layoutControlGroup7, + this.layoutControlItem26}); + this.layoutControlGroup1.Name = "Root"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup1.Size = new System.Drawing.Size(1300, 572); + this.layoutControlGroup1.TextVisible = false; + // + // lcitemValue + // + this.lcitemValue.Control = this.gbValue; + this.lcitemValue.CustomizationFormText = "lcitemValue"; + this.lcitemValue.Location = new System.Drawing.Point(0, 0); + this.lcitemValue.MaxSize = new System.Drawing.Size(0, 124); + this.lcitemValue.MinSize = new System.Drawing.Size(104, 124); + this.lcitemValue.Name = "lcitemValue"; + this.lcitemValue.Size = new System.Drawing.Size(1149, 124); + this.lcitemValue.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcitemValue.TextSize = new System.Drawing.Size(0, 0); + this.lcitemValue.TextVisible = false; + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.gbDetail; + this.layoutControlItem2.CustomizationFormText = "layoutControlItem2"; + this.layoutControlItem2.Location = new System.Drawing.Point(0, 223); + this.layoutControlItem2.MinSize = new System.Drawing.Size(104, 24); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(1298, 347); + this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // icitemStatusAlarm + // + this.icitemStatusAlarm.Control = this.gbStatusAlarm; + this.icitemStatusAlarm.CustomizationFormText = "icitemStatusAlarm"; + this.icitemStatusAlarm.Location = new System.Drawing.Point(0, 124); + this.icitemStatusAlarm.MaxSize = new System.Drawing.Size(172, 0); + this.icitemStatusAlarm.MinSize = new System.Drawing.Size(172, 24); + this.icitemStatusAlarm.Name = "icitemStatusAlarm"; + this.icitemStatusAlarm.Size = new System.Drawing.Size(172, 99); + this.icitemStatusAlarm.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.icitemStatusAlarm.TextSize = new System.Drawing.Size(0, 0); + this.icitemStatusAlarm.TextVisible = false; + // + // layoutControlItem19 + // + this.layoutControlItem19.Control = this.btnParam; + this.layoutControlItem19.CustomizationFormText = "layoutControlItem19"; + this.layoutControlItem19.Location = new System.Drawing.Point(1196, 153); + this.layoutControlItem19.MinSize = new System.Drawing.Size(50, 26); + this.layoutControlItem19.Name = "layoutControlItem19"; + this.layoutControlItem19.Size = new System.Drawing.Size(102, 35); + this.layoutControlItem19.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem19.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem19.TextVisible = false; + // + // lbHeatbeat + // + this.lbHeatbeat.AllowHotTrack = false; + this.lbHeatbeat.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 10F, System.Drawing.FontStyle.Bold); + this.lbHeatbeat.AppearanceItemCaption.Options.UseFont = true; + this.lbHeatbeat.AppearanceItemCaption.Options.UseTextOptions = true; + this.lbHeatbeat.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.lbHeatbeat.CustomizationFormText = "HB"; + this.lbHeatbeat.Location = new System.Drawing.Point(1196, 124); + this.lbHeatbeat.MaxSize = new System.Drawing.Size(102, 0); + this.lbHeatbeat.MinSize = new System.Drawing.Size(102, 25); + this.lbHeatbeat.Name = "lbHeatbeat"; + this.lbHeatbeat.Size = new System.Drawing.Size(102, 29); + this.lbHeatbeat.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lbHeatbeat.Text = "HB"; + this.lbHeatbeat.TextSize = new System.Drawing.Size(17, 16); + // + // layoutControlItem21 + // + this.layoutControlItem21.Control = this.gbEtc; + this.layoutControlItem21.CustomizationFormText = "layoutControlItem21"; + this.layoutControlItem21.Location = new System.Drawing.Point(1072, 124); + this.layoutControlItem21.MaxSize = new System.Drawing.Size(124, 0); + this.layoutControlItem21.MinSize = new System.Drawing.Size(124, 69); + this.layoutControlItem21.Name = "layoutControlItem21"; + this.layoutControlItem21.Size = new System.Drawing.Size(124, 99); + this.layoutControlItem21.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem21.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem21.TextVisible = false; + // + // layoutControlItem20 + // + this.layoutControlItem20.Control = this.btnCalib; + this.layoutControlItem20.Location = new System.Drawing.Point(1196, 188); + this.layoutControlItem20.MinSize = new System.Drawing.Size(44, 26); + this.layoutControlItem20.Name = "layoutControlItem20"; + this.layoutControlItem20.Size = new System.Drawing.Size(102, 35); + this.layoutControlItem20.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem20.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem20.TextVisible = false; + // + // layoutControlGroup7 + // + this.layoutControlGroup7.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem25}); + this.layoutControlGroup7.Location = new System.Drawing.Point(1149, 0); + this.layoutControlGroup7.Name = "layoutControlGroup7"; + this.layoutControlGroup7.Padding = new DevExpress.XtraLayout.Utils.Padding(3, 3, 3, 3); + this.layoutControlGroup7.Size = new System.Drawing.Size(149, 124); + this.layoutControlGroup7.Text = " "; + // + // layoutControlItem25 + // + this.layoutControlItem25.Control = this.pictureEdit1; + this.layoutControlItem25.CustomizationFormText = "Logo"; + this.layoutControlItem25.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem25.MaxSize = new System.Drawing.Size(137, 0); + this.layoutControlItem25.MinSize = new System.Drawing.Size(137, 24); + this.layoutControlItem25.Name = "layoutControlItem25"; + this.layoutControlItem25.Size = new System.Drawing.Size(137, 91); + this.layoutControlItem25.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem25.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem25.TextVisible = false; + // + // tmrDisplay + // + this.tmrDisplay.Interval = 500; + this.tmrDisplay.Tick += new System.EventHandler(this.tmrDisplay_Tick); + // + // FaultAlarmGroup + // + this.FaultAlarmGroup.Location = new System.Drawing.Point(175, 127); + this.FaultAlarmGroup.Name = "FaultAlarmGroup"; + this.FaultAlarmGroup.Size = new System.Drawing.Size(896, 95); + this.FaultAlarmGroup.TabIndex = 15; + // + // dgSOH + // + this.dgSOH.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA"); + this.dgSOH.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F"); + this.dgSOH.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] { + this.digitalBackgroundLayerComponent5}); + this.dgSOH.Bounds = new System.Drawing.Rectangle(6, 6, 211, 60); + this.dgSOH.DigitCount = 5; + this.dgSOH.Name = "dgSOH"; + this.dgSOH.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20); + this.dgSOH.Text = "00,000"; + // + // dgTemperature + // + this.dgTemperature.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA"); + this.dgTemperature.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F"); + this.dgTemperature.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] { + this.digitalBackgroundLayerComponent4}); + this.dgTemperature.Bounds = new System.Drawing.Rectangle(6, 6, 213, 60); + this.dgTemperature.DigitCount = 5; + this.dgTemperature.Name = "dgTemperature"; + this.dgTemperature.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20); + this.dgTemperature.Text = "00,000"; + // + // dgSOC + // + this.dgSOC.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA"); + this.dgSOC.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F"); + this.dgSOC.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] { + this.digitalBackgroundLayerComponent3}); + this.dgSOC.Bounds = new System.Drawing.Rectangle(6, 6, 213, 60); + this.dgSOC.DigitCount = 5; + this.dgSOC.Name = "dgSOC"; + this.dgSOC.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20); + this.dgSOC.Text = "00,000"; + // + // dgCurrent + // + this.dgCurrent.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA"); + this.dgCurrent.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F"); + this.dgCurrent.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] { + this.digitalBackgroundLayerComponent2}); + this.dgCurrent.Bounds = new System.Drawing.Rectangle(6, 6, 211, 60); + this.dgCurrent.DigitCount = 5; + this.dgCurrent.Name = "dgCurrent"; + this.dgCurrent.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20); + this.dgCurrent.Text = "00,000"; + // + // dgVoltage + // + this.dgVoltage.AppearanceOff.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#E3E5EA"); + this.dgVoltage.AppearanceOn.ContentBrush = new DevExpress.XtraGauges.Core.Drawing.SolidBrushObject("Color:#59616F"); + this.dgVoltage.BackgroundLayers.AddRange(new DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent[] { + this.digitalBackgroundLayerComponent1}); + this.dgVoltage.Bounds = new System.Drawing.Rectangle(6, 6, 211, 60); + this.dgVoltage.DigitCount = 5; + this.dgVoltage.Name = "dgVoltage"; + this.dgVoltage.Padding = new DevExpress.XtraGauges.Core.Base.TextSpacing(26, 20, 26, 20); + this.dgVoltage.Text = "00,000"; + // + // layoutControlItem26 + // + this.layoutControlItem26.Control = this.FaultAlarmGroup; + this.layoutControlItem26.Location = new System.Drawing.Point(172, 124); + this.layoutControlItem26.Name = "layoutControlItem26"; + this.layoutControlItem26.Size = new System.Drawing.Size(900, 99); + this.layoutControlItem26.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem26.TextVisible = false; + // + // ucShelfStatus + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.layoutControl1); + this.Name = "ucShelfStatus"; + this.Size = new System.Drawing.Size(1300, 572); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pictureEdit1.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbEtc)).EndInit(); + this.gbEtc.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl6)).EndInit(); + this.layoutControl6.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem22)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem23)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbStatusAlarm)).EndInit(); + this.gbStatusAlarm.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).EndInit(); + this.layoutControl3.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.panelControl2)).EndInit(); + this.panelControl2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.panelControl1)).EndInit(); + this.panelControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemStatus)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemAlarm)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbDetail)).EndInit(); + this.gbDetail.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl4)).EndInit(); + this.layoutControl4.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(xyDiagram1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(series1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(series2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TChart)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(xyDiagram2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(series3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(series4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.VChart)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbValue)).EndInit(); + this.gbValue.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).EndInit(); + this.layoutControl2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.digitalBackgroundLayerComponent1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem24)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemValue)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.icitemStatusAlarm)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem19)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lbHeatbeat)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem21)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem20)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup7)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem25)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgSOH)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgTemperature)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgSOC)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgCurrent)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgVoltage)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem26)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraEditors.GroupControl gbDetail; + private DevExpress.XtraEditors.GroupControl gbValue; + private DevExpress.XtraLayout.LayoutControlItem lcitemValue; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraLayout.LayoutControl layoutControl2; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2; + private DevExpress.XtraGauges.Win.GaugeControl gaugeControl4; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge dgTemperature; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent4; + private DevExpress.XtraGauges.Win.GaugeControl gaugeControl3; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge dgSOC; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent3; + private DevExpress.XtraGauges.Win.GaugeControl gaugeControl2; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge dgCurrent; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent2; + private DevExpress.XtraGauges.Win.GaugeControl gaugeControl1; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge dgVoltage; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6; + private DevExpress.XtraEditors.GroupControl gbStatusAlarm; + private DevExpress.XtraLayout.LayoutControlItem icitemStatusAlarm; + private DevExpress.XtraLayout.LayoutControl layoutControl3; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3; + private DevExpress.XtraEditors.PanelControl panelControl2; + private DevExpress.XtraEditors.PanelControl panelControl1; + private DevExpress.XtraLayout.LayoutControlItem lcitemStatus; + private DevExpress.XtraLayout.LayoutControlItem lcitemAlarm; + private DevExpress.XtraEditors.LabelControl lbStatus; + private DevExpress.XtraEditors.LabelControl lbAlarm; + private DevExpress.XtraLayout.LayoutControl layoutControl4; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup4; + private System.Windows.Forms.Timer tmrDisplay; + private DevExpress.XtraEditors.SimpleButton btnParam; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem19; + private DevExpress.XtraLayout.SimpleLabelItem lbHeatbeat; + private DevExpress.XtraEditors.GroupControl gbEtc; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem21; + private DevExpress.XtraLayout.LayoutControl layoutControl6; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup6; + private DevExpress.XtraEditors.LabelControl lbAmbTemp; + private DevExpress.XtraEditors.LabelControl lbFetTemp; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem22; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem23; + private DevExpress.XtraCharts.ChartControl VChart; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraCharts.ChartControl TChart; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7; + private DevExpress.XtraEditors.SimpleButton btnCalib; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem20; + private DevExpress.XtraGauges.Win.GaugeControl gaugeControl5; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalGauge dgSOH; + private DevExpress.XtraGauges.Win.Gauges.Digital.DigitalBackgroundLayerComponent digitalBackgroundLayerComponent5; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem24; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup7; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem25; + private DevExpress.XtraEditors.PictureEdit pictureEdit1; + private UcFaultAlarmGroup FaultAlarmGroup; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem26; + } +} diff --git a/LFP_Manager/Controls/ucShelfStatus.cs b/LFP_Manager/Controls/ucShelfStatus.cs new file mode 100644 index 0000000..073aac2 --- /dev/null +++ b/LFP_Manager/Controls/ucShelfStatus.cs @@ -0,0 +1,1401 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Text; +using System.Linq; +using System.Windows.Forms; +using DevExpress.XtraEditors; +using DevExpress.XtraCharts; + +using LFP_Manager.Forms; +using LFP_Manager.DataStructure; +using LFP_Manager.Utils; +using DevExpress.Utils.Text; + +namespace LFP_Manager.Controls +{ + public delegate void paramCommand(int sId, int mode, int index, int flag, + ref CsDeviceData.DeviceModuleData.DeviceParamData aParam, + ref CsDeviceData.DeviceModuleData.DeviceCalibration aCalib); + + public partial class ucShelfStatus : DevExpress.XtraEditors.XtraUserControl + { + #region CONSTDATA + const int STATUS_QTY = 10; + #endregion + + #region VARIABLES + int ModuleID = 1; + bool start = false; + + CommConfig Config; + + CsDeviceData.DeviceModuleData[] ModuleData; + + DataTable[] dtVolt; + DataTable[] dtTemp; + Series[] seriesVolt; + Series[] seriesTemp; + + Palette paletteV; + Palette paletteT; + + public event paramCommand OnCommand = null; + public event SendDataUartEvent OnSendUartData = null; + #endregion + + #region CONSTRUCTORS + public ucShelfStatus() + { + InitializeComponent(); + } + #endregion + + #region PROPERTIES + public void UpdateSystemId(int mID) + { + ModuleID = mID; + } + + public void Start(int mID, ref CommConfig aConfig, ref CsDeviceData.DeviceModuleData[] mData) + { + ModuleID = mID; + Config = aConfig; + ModuleData = mData; + + switch (Config.CommType) + { + case csConstData.CommType.COMM_UART: + btnParam.Text = "Param"; + btnParam.Enabled = true; + btnCalib.Enabled = true; + btnCalib.Text = "Calib"; + break; + case csConstData.CommType.COMM_RS485: + btnParam.Text = "Information"; + btnParam.Enabled = true; + btnCalib.Enabled = true; + btnCalib.Text = "Calib"; + break; + case csConstData.CommType.COMM_SNMP: + btnParam.Text = "Information"; + btnParam.Enabled = true; + btnCalib.Enabled = false; + btnCalib.Text = ""; + break; + default: + break; + } + + InitDataTableVolt(); + InitDataTableTemp(); + vSeriesInit(); + tSeriesInit(); + + tmrDisplay.Start(); + + start = true; + } + + public void Stop() + { + start = false; + tmrDisplay.Stop(); + } + + public void ModuleIDSet(int mID) + { + ModuleID = mID; + } + + public int ModuleIDGet() + { + return ModuleID; + } + + public void UpdateData(CsDeviceData.DeviceModuleData[] mData) + { + ModuleData = mData; + } + #endregion + + #region INIT_COMPONENT + + private void InitDataTableVolt() + { + dtVolt = new DataTable[ModuleData[ModuleID - 1].cellQty]; + + for (int i = 0; i < dtVolt.Length; i++) + { + dtVolt[i] = new DataTable(); + dtVolt[i].Columns.Add("C_No", typeof(Int32)); + dtVolt[i].Columns.Add("Alarm", typeof(Int32)); + dtVolt[i].Columns.Add("Value", typeof(double)); + + // Add data rows to the table. + DataRow row = null; + + row = dtVolt[i].NewRow(); + row["C_No"] = i + 1; + row["Alarm"] = 0; + row["Value"] = 3.2; + + dtVolt[i].Rows.Add(row); + } + } + + private void InitDataTableTemp() + { + dtTemp = new DataTable[ModuleData[ModuleID - 1].tempQty]; + for (int i = 0; i < dtTemp.Length; i++) + { + dtTemp[i] = new DataTable(); + dtTemp[i].Columns.Add("T_No", typeof(Int32)); + dtTemp[i].Columns.Add("Alarm", typeof(Int32)); + dtTemp[i].Columns.Add("Value", typeof(double)); + + // Add data rows to the table. + DataRow row = null; + + row = dtTemp[i].NewRow(); + row["T_No"] = i + 1; + row["Alarm"] = 0; + row["Value"] = 25.4; + dtTemp[i].Rows.Add(row); + } + } + + private Palette vPaletteInit(string bName, short bValue) + { + paletteV = new Palette(bName); + for (int i = 0; i < dtVolt.Length; i++) + { + if (((bValue >> i) & 0x0001) == 0x0001) + paletteV.Add(Color.Orange); + else + paletteV.Add(Color.Green); + } + return paletteV; + } + + private void vPaletteUpdate(ushort bValue) + { + paletteV.Clear(); + for (int i = 0; i < dtVolt.Length; i++) + { + if (((bValue >> i) & 0x0001) == 0x0001) + paletteV.Add(Color.Orange); + else + paletteV.Add(Color.Green); + } + } + + private Palette tPaletteInit(string bName, short bValue) + { + paletteT = new Palette(bName); + + for (int i = 0; i < dtTemp.Length; i++) + { + if (((bValue >> i) & 0x0001) == 0x0001) + paletteT.Add(Color.Orange); + else + paletteT.Add(Color.Green); + } + + return paletteT; + } + + private void tPaletteUpdate(short bValue) + { + paletteT.Clear(); + for (int i = 0; i < dtTemp.Length; i++) + { + if (((bValue >> i) & 0x0001) == 0x0001) + paletteT.Add(Color.Orange); + else + paletteT.Add(Color.Green); + } + } + + private void vSeriesInit() + { + VChart.Series.Clear(); + VChart.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False; + + seriesVolt = new Series[ModuleData[ModuleID - 1].cellQty]; + + for (int i = 0; i < seriesVolt.Length; i++) + { + seriesVolt[i] = new Series(String.Format("C_{0:00}", i + 1), ViewType.Bar) + { + DataSource = dtVolt[i], + //Label.PointOptions.PointView = PointView.ArgumentAndValues, + //Label.PointOptions.ValueNumericOptions.Format = NumericFormat.Number, + //Label.PointOptions.ValueNumericOptions.Precision = 3, + CrosshairLabelPattern = "C_{A:00} : {V:F3}", + + // Specify data members to bind the series. + ArgumentScaleType = ScaleType.Numerical, + ArgumentDataMember = "C_No", + ValueScaleType = ScaleType.Numerical, + }; + ((SideBySideBarSeriesView)(seriesVolt[i].View)).BarWidth = 10.0; + seriesVolt[i].ValueDataMembers.AddRange(new string[] { "Value" }); + VChart.Series.Add(seriesVolt[i]); + } + + VChart.PaletteRepository.Clear(); + VChart.PaletteRepository.Add("V Palette", vPaletteInit("V Palette", 0)); + VChart.PaletteName = "V Palette"; + + // Cast the chart's diagram to the XYDiagram type, to access its axes. + XYDiagram diagram = (XYDiagram)VChart.Diagram; + if (diagram.AxisY.ConstantLines.Count > 0) + diagram.AxisY.ConstantLines.Clear(); + + // Create a constant line. + ConstantLine constantLineMax = new ConstantLine("Limit(Max)"); + ConstantLine constantLineMin = new ConstantLine("Limit(Min)"); + ConstantLine constantDataMax = new ConstantLine( + String.Format(" Max({0:#0.000}V:{1:00})", 0, 0)); + ConstantLine constantDataAvg = new ConstantLine( + String.Format(" Avg({0:#0.000}V) - ({1:#0.000}V)", 0, 0)); + ConstantLine constantDataMin = new ConstantLine( + String.Format("Min({0:#0.000}V:{1:00})", 0, 0)); + + constantLineMax.Color = Color.Red; + constantLineMin.Color = Color.Red; + + // Customize the behavior of the constant line. + constantLineMax.Visible = true; + constantLineMax.ShowInLegend = true; + constantLineMax.LegendText = "Limit(Max)"; + constantLineMax.ShowBehind = false; + + constantLineMin.Visible = true; + constantLineMin.ShowInLegend = true; + constantLineMin.LegendText = "Limit(Min)"; + constantLineMin.ShowBehind = false; + + constantDataMax.Visible = true; + constantDataMax.ShowInLegend = true; + constantDataMax.LegendText = "Max"; + constantDataMax.ShowBehind = false; + constantDataMax.Color = Color.MediumVioletRed; + constantDataMax.Title.TextColor = Color.Black; + constantDataMax.Title.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Bold); + + constantDataAvg.Visible = true; + constantDataAvg.ShowInLegend = true; + constantDataAvg.LegendText = "Avg"; + constantDataAvg.ShowBehind = false; + constantDataAvg.Color = Color.LawnGreen; + constantDataAvg.Title.TextColor = Color.Black; + constantDataAvg.Title.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Bold); + + constantDataMin.Visible = true; + constantDataMin.ShowInLegend = true; + constantDataMin.LegendText = "Min"; + constantDataMin.ShowBehind = false; + constantDataMin.Color = Color.BlueViolet; + constantDataMin.Title.TextColor = Color.Black; + constantDataMin.Title.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Bold); + + // Define its axis value. + constantLineMax.AxisValue = 3.85; + constantLineMin.AxisValue = 2.5; + constantDataMax.AxisValue = 0; + constantDataAvg.AxisValue = 0; + constantDataMin.AxisValue = 0; + + diagram.AxisY.ConstantLines.Add(constantLineMax); + diagram.AxisY.ConstantLines.Add(constantLineMin); + diagram.AxisY.ConstantLines.Add(constantDataMax); + diagram.AxisY.ConstantLines.Add(constantDataAvg); + diagram.AxisY.ConstantLines.Add(constantDataMin); + + // Axis Y + diagram.AxisY.VisualRange.Auto = false; + diagram.AxisY.VisualRange.AutoSideMargins = false; + diagram.AxisY.VisualRange.StartSideMargin = 0; + diagram.AxisY.VisualRange.EndSideMargin = 0; + diagram.AxisY.VisualRange.MaxValue = 4.0; + diagram.AxisY.VisualRange.MinValue = 2.0; + diagram.AxisY.WholeRange.MaxValue = 4.0; + diagram.AxisY.WholeRange.MinValue = 2.0; + + diagram.AxisY.NumericScaleOptions.AutoGrid = false; + diagram.AxisY.NumericScaleOptions.GridAlignment = NumericGridAlignment.Ones; + diagram.AxisY.NumericScaleOptions.GridOffset = 0; + diagram.AxisY.NumericScaleOptions.GridSpacing = 0.1; + + //diagram.AxisY.GridSpacing = 0.1; + diagram.AxisY.Title.Text = "Voltage(V)"; + //diagram.AxisY.Label.NumericOptions.Precision = 3; + diagram.AxisY.Title.Visibility = DevExpress.Utils.DefaultBoolean.True; + diagram.AxisY.Title.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular); + + // Axis X + diagram.AxisX.VisualRange.MaxValue = seriesVolt.Length; + diagram.AxisX.VisualRange.MinValue = 1; + diagram.AxisX.VisualRange.Auto = false; + diagram.AxisX.VisualRange.AutoSideMargins = false; + diagram.AxisX.VisualRange.SideMarginsValue = 0.5; + + diagram.AxisX.Title.Text = "Cell No"; + diagram.AxisX.Title.Visibility = DevExpress.Utils.DefaultBoolean.False; + diagram.AxisX.Title.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular); + } + + private void tSeriesInit() + { + TChart.Series.Clear(); + TChart.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False; + + seriesTemp = new Series[ModuleData[ModuleID - 1].tempQty]; + + for (int i = 0; i < seriesTemp.Length; i++) + { + seriesTemp[i] = new Series(String.Format("T_{0:00}", i + 1), ViewType.Bar) + { + DataSource = dtTemp[i], + //Label.PointOptions.PointView = PointView.ArgumentAndValues, + //Label.PointOptions.ValueNumericOptions.Format = NumericFormat.Number, + //Label.PointOptions.ValueNumericOptions.Precision = 3, + CrosshairLabelPattern = "T_{A:00} : {V:F1}", + + // Specify data members to bind the series. + ArgumentScaleType = ScaleType.Numerical, + ArgumentDataMember = "T_No", + ValueScaleType = ScaleType.Numerical, + }; + ((SideBySideBarSeriesView)(seriesTemp[i].View)).BarWidth = 2.5; + seriesTemp[i].ValueDataMembers.AddRange(new string[] { "Value" }); + TChart.Series.Add(seriesTemp[i]); + } + + TChart.PaletteRepository.Clear(); + TChart.PaletteRepository.Add("T Palette", tPaletteInit("T Palette", 0)); + TChart.PaletteName = "T Palette"; + + // Cast the chart's diagram to the XYDiagram type, to access its axes. + XYDiagram diagram = (XYDiagram)TChart.Diagram; + if (diagram.AxisY.ConstantLines.Count > 0) + diagram.AxisY.ConstantLines.Clear(); + + diagram.Margins.All = 0; + + ConstantLine constantLineMax = new ConstantLine("Limit(Max)"); + ConstantLine constantLineMin = new ConstantLine("Limit(Min)"); + ConstantLine constantDataMax = new ConstantLine(String.Format(" Max({0:#0.0}C)", 0)); + ConstantLine constantDataAvg = new ConstantLine(String.Format(" Avg({0:#0.0}C)", 0)); + ConstantLine constantDataMin = new ConstantLine(String.Format("Min({0:#0.0}C)", 0)); + + constantLineMax.Color = Color.Red; + constantLineMin.Color = Color.Red; + + // Customize the behavior of the constant line. + constantLineMax.Visible = true; + constantLineMax.ShowInLegend = true; + constantLineMax.LegendText = "Limit(Max)"; + constantLineMax.ShowBehind = false; + + constantLineMin.Visible = true; + constantLineMin.ShowInLegend = true; + constantLineMin.LegendText = "Limit(Min)"; + constantLineMin.ShowBehind = false; + + constantDataMax.Visible = true; + constantDataMax.ShowInLegend = true; + constantDataMax.LegendText = "Max"; + constantDataMax.ShowBehind = false; + constantDataMax.Color = Color.MediumVioletRed; + constantDataMax.Title.TextColor = Color.Black; + constantDataMax.Title.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Bold); + + constantDataAvg.Visible = true; + constantDataAvg.ShowInLegend = true; + constantDataAvg.LegendText = "Avg"; + constantDataAvg.ShowBehind = false; + constantDataAvg.Color = Color.LawnGreen; + constantDataAvg.Title.TextColor = Color.Black; + constantDataAvg.Title.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Bold); + + constantDataMin.Visible = true; + constantDataMin.ShowInLegend = true; + constantDataMin.LegendText = "Min"; + constantDataMin.ShowBehind = false; + constantDataMin.Color = Color.BlueViolet; + constantDataMin.Title.TextColor = Color.Black; + constantDataMin.Title.Font = new System.Drawing.Font("Tahoma", 8F, System.Drawing.FontStyle.Bold); + + // Define its axis value. + constantLineMax.AxisValue = 60.0; + constantLineMin.AxisValue = -20.0; + constantDataMax.AxisValue = 0; + constantDataAvg.AxisValue = 0; + constantDataMin.AxisValue = 0; + + diagram.AxisY.ConstantLines.Add(constantLineMax); + diagram.AxisY.ConstantLines.Add(constantLineMin); + diagram.AxisY.ConstantLines.Add(constantDataMax); + diagram.AxisY.ConstantLines.Add(constantDataAvg); + diagram.AxisY.ConstantLines.Add(constantDataMin); + + // Axis Y + diagram.AxisY.VisualRange.Auto = false; + diagram.AxisY.VisualRange.AutoSideMargins = false; + diagram.AxisY.VisualRange.StartSideMargin = 0; + diagram.AxisY.VisualRange.EndSideMargin = 0; + diagram.AxisY.VisualRange.MaxValue = 80.0; + diagram.AxisY.VisualRange.MinValue = -30.0; + diagram.AxisY.WholeRange.MaxValue = 80.0; + diagram.AxisY.WholeRange.MinValue = -30.0; + + diagram.AxisY.NumericScaleOptions.AutoGrid = false; + diagram.AxisY.NumericScaleOptions.GridAlignment = NumericGridAlignment.Ones; + diagram.AxisY.NumericScaleOptions.GridOffset = 0; + diagram.AxisY.NumericScaleOptions.GridSpacing = 5; + + diagram.AxisY.Title.Text = "Temperature(C)"; + diagram.AxisY.Title.Visibility = DevExpress.Utils.DefaultBoolean.True; + diagram.AxisY.Title.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular); + + // Axis X + diagram.AxisX.VisualRange.MaxValue = seriesTemp.Length; + diagram.AxisX.VisualRange.MinValue = 1; + diagram.AxisX.VisualRange.Auto = false; + diagram.AxisX.VisualRange.AutoSideMargins = false; + diagram.AxisX.VisualRange.SideMarginsValue = 0.5; + + diagram.AxisX.Title.Text = "Temperature No"; + diagram.AxisX.Title.Visibility = DevExpress.Utils.DefaultBoolean.False; + diagram.AxisX.Title.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular); + } + + #endregion + + #region DISPLAY DATA + + private void tmrDisplay_Tick(object sender, EventArgs e) + { + DisplayLevelMasking(); + switch (Config.CommType) + { + case csConstData.CommType.COMM_UART: + DisplayDataUart(); + break; + case csConstData.CommType.COMM_RS485: + DisplayDataRs485(); + break; + case csConstData.CommType.COMM_SNMP: + DisplayDataSnmp(); + break; + default: + break; + } + // 하위 컨트롤 업데이트 + var idx = SafeModuleIndex(); + FaultAlarmGroup.SetData(Config, ModuleData[idx]); + } + + void DisplayLevelMasking() + { + switch (Config.CommType) + { + case csConstData.CommType.COMM_UART: + // UART Mode + switch (Config.ControlLevel) + { + case 0: // User Level + btnCalib.Text = "Calib"; + btnCalib.Enabled = false; + break; + case 1: // Technician Level + btnCalib.Text = "Calib"; + btnCalib.Enabled = true; + break; + case 2: // Engineer Level + btnCalib.Text = "Calib"; + btnCalib.Enabled = true; + break; + case 3: // Master Level + btnCalib.Text = "Calib"; + btnCalib.Enabled = true; + break; + default: // User Level + btnCalib.Text = "Calib"; + btnCalib.Enabled = true; + break; + } + break; + case csConstData.CommType.COMM_RS485: + switch (Config.ControlLevel) + { + case 0: // User Level + btnCalib.Text = "Calib"; + btnCalib.Enabled = false; + break; + case 1: // Technician Level + btnCalib.Text = "Calib"; + btnCalib.Enabled = true; + break; + case 2: // Engineer Level + btnCalib.Text = "Calib"; + btnCalib.Enabled = true; + break; + case 3: // Master Level + btnCalib.Text = "Calib"; + btnCalib.Enabled = true; + break; + default: // User Level + btnCalib.Text = "Calib"; + btnCalib.Enabled = true; + break; + } + break; + case csConstData.CommType.COMM_SNMP: + // SNMP Mode + btnCalib.Enabled = false; + btnCalib.Text = ""; + break; + default: + break; + } + } + + void DisplayDataUart() + { + if (start) + { + dgVoltage.Text = String.Format("{0:0.0}", Convert.ToDouble(ModuleData[ModuleID - 1].ValueData.voltage) / 10); + dgCurrent.Text = String.Format("{0:0.0}", Convert.ToDouble(ModuleData[ModuleID - 1].ValueData.current) / 10); + dgSOC.Text = String.Format("{0:0.0}", Convert.ToDouble(ModuleData[ModuleID - 1].ValueData.SOC) / 10); + dgSOH.Text = String.Format("{0:0.0}", Convert.ToDouble(ModuleData[ModuleID - 1].ValueData.SOH) / 10); + dgTemperature.Text = String.Format("{0:0.0}", Convert.ToDouble(ModuleData[ModuleID - 1].AvgData.maxTemp) / 10); //Byul 21.08.09 "maxTemp" + lbFetTemp.Text = String.Format(" FET: {0:##0.0}C", Convert.ToDouble(ModuleData[ModuleID - 1].ValueData.MosTemperature) / 10); + lbAmbTemp.Text = String.Format(" AMB: {0:##0.0}C", Convert.ToDouble(ModuleData[ModuleID - 1].ValueData.AmbTemperature) / 10); + + //lbFetTemp.Text = String.Format(" FAULT: 0x{0:X4}", ModuleData[ModuleID - 1].StatusData.protection); + + lbHeatbeat.Text = String.Format("Cycle: {0}", ModuleData[ModuleID - 1].ValueData.cycleCount); + + DisplayCellVoltage(); + DisplayCellTemperature(); + + DisplayInformationUart(); + DisplayAlarmUart(); + DisplayStatusStrUart(); + DisplayAlarmStrUart(); + } + } + + void DisplayDataRs485() + { + if (start) + { + dgVoltage.Text = String.Format("{0:0.0}", Convert.ToDouble(ModuleData[ModuleID - 1].ValueData.voltage) / 10); + dgCurrent.Text = String.Format("{0:0.0}", Convert.ToDouble(ModuleData[ModuleID - 1].ValueData.current) / 10); + dgSOC.Text = String.Format("{0:0.0}", Convert.ToDouble(ModuleData[ModuleID - 1].ValueData.SOC) / 10); + dgSOH.Text = String.Format("{0:0.0}", Convert.ToDouble(ModuleData[ModuleID - 1].ValueData.SOH) / 10); + dgTemperature.Text = String.Format("{0:0.0}", Convert.ToDouble(ModuleData[ModuleID - 1].AvgData.maxTemp) / 10); //Byul 21.08.09 "maxTemp" + lbFetTemp.Text = String.Format(@" AVG: {0:##0.0}C", Convert.ToDouble(ModuleData[ModuleID - 1].ValueData.MosTemperature) / 10); + lbAmbTemp.Text = String.Format(@" AMB: {0:##0.0}C", Convert.ToDouble(ModuleData[ModuleID - 1].ValueData.AmbTemperature) / 10); + + lbHeatbeat.Text = String.Format("Cycle: {0}", ModuleData[ModuleID - 1].ValueData.cycleCount); + //lbHeatbeat.Text = String.Format("Cycle: {0}", ModuleData[ModuleID - 1].MaxValue.MaxChgCurrent); + + DisplayCellVoltage(); + DisplayCellTemperature(); + + DisplayInformationRs485(); + DisplayAlarmRs485(); + + DisplayStatusStrRs485(); + DisplayAlarmStrRs485(); + } + } + + void DisplayDataSnmp() + { + if (start) + { + dgVoltage.Text = string.Format("{0:0.0}", Convert.ToDouble(ModuleData[0].ValueData.voltage) / 10); + dgCurrent.Text = string.Format("{0:0.0}", Convert.ToDouble(ModuleData[0].ValueData.current) / 10); + dgSOC.Text = string.Format("{0:0.0}", Convert.ToDouble(ModuleData[0].ValueData.SOC) / 10); + dgSOH.Text = string.Format("{0:0.0}", Convert.ToDouble(ModuleData[0].ValueData.SOH) / 10); + dgTemperature.Text = string.Format("{0:0.0}", Convert.ToDouble(ModuleData[0].AvgData.maxTemp) / 10); //Byul 21.08.09 "maxTemp" + lbFetTemp.Text = string.Format(" FET: {0:##0.0}C", Convert.ToDouble(ModuleData[0].ValueData.MosTemperature) / 10); + lbAmbTemp.Text = string.Format(" AMB: {0:##0.0}C", Convert.ToDouble(ModuleData[0].ValueData.AmbTemperature) / 10); + + lbHeatbeat.Text = string.Format("Cycle: {0}", ModuleData[0].ValueData.cycleCount); + + DisplayCellVoltage(); + DisplayCellTemperature(); + + DisplayInformationUart(); + DisplayAlarmSnmp(); + DisplayStatusStrSnmp(); + DisplayAlarmStrSnmp(); + } + } + + private void DisplayInformationUart() + { + string strInfor = string.Format("V: {0} - Model: {1} - SN: {2}" + , ModuleData[ModuleID - 1].Information.SwProductRev + , ModuleData[ModuleID - 1].Information.ModelName + , ModuleData[ModuleID - 1].Information.HwSerialNumber + ); + gbValue.Text = "Value - " + strInfor; + } + + private void DisplayInformationRs485() + { + string strInfor = string.Format("V: {0} - Model: {1} - SN: {2}" + , ModuleData[ModuleID - 1].Information.SwProductRev + , ModuleData[ModuleID - 1].Information.ModelName + , ModuleData[ModuleID - 1].Information.HwSerialNumber + ); + gbValue.Text = "Value - " + strInfor; + } + + private void DisplayInformationSnmp() + { + string strInfor = string.Format("V: {0} - Model: {1} ({2}) - SN: {3} ({4})" + , ModuleData[0].Information.SwProductRev + , ModuleData[0].Information.ModelName + , ModuleData[0].Information.ProductCode + , ModuleData[0].Information.HwSerialNumber + , ModuleData[0].Information.ManufacturingDate + ); + gbValue.Text = "Value - " + strInfor; + } + + private void DisplayCellVoltage() + { + try + { + for (int i = 0; i < seriesVolt.Length; i++) + dtVolt[i].Rows[0]["Value"] = Convert.ToDouble(ModuleData[ModuleID - 1].ValueData.CellVoltage[i]) / 1000; + + if (ModuleData[ModuleID - 1].StatusData.cellBallanceStatus != 0x0000) + vPaletteUpdate(ModuleData[ModuleID - 1].StatusData.cellBallanceStatus); + else + vPaletteUpdate(0); + + double maxValue = Convert.ToDouble(ModuleData[ModuleID - 1].AvgData.maxCellVoltage) / 1000; + double avgValue = Convert.ToDouble(ModuleData[ModuleID - 1].AvgData.avgCellVoltage) / 1000; + double minValue = Convert.ToDouble(ModuleData[ModuleID - 1].AvgData.minCellVoltage) / 1000; + double gapValue = Convert.ToDouble(ModuleData[ModuleID - 1].AvgData.diffCellVoltage) / 1000; + int maxCno = Convert.ToInt32(ModuleData[ModuleID - 1].AvgData.maxCellNum); + int minCno = Convert.ToInt32(ModuleData[ModuleID - 1].AvgData.minCellNum); + + // Cast the chart's diagram to the XYDiagram type, to access its axes. + ((XYDiagram)VChart.Diagram).AxisY.ConstantLines[2].Name = + String.Format(" Max({0:#0.000}V:{1:00})", maxValue, maxCno); + ((XYDiagram)VChart.Diagram).AxisY.ConstantLines[3].Name = + String.Format(" Avg({0:#0.000}V) - ({1:#0.000}V)", avgValue, gapValue); + ((XYDiagram)VChart.Diagram).AxisY.ConstantLines[4].Name = + String.Format("Min({0:#0.000}V:{1:00})", minValue, minCno); + + // Define its axis value. + ((XYDiagram)VChart.Diagram).AxisY.ConstantLines[2].AxisValue = maxValue; + ((XYDiagram)VChart.Diagram).AxisY.ConstantLines[3].AxisValue = avgValue; + ((XYDiagram)VChart.Diagram).AxisY.ConstantLines[4].AxisValue = minValue; + + //VChart.Legend.Visible = true; + + //VChart.Titles[0].Text = + // String.Format("Voltage Status"); + + //VChart.Invalidate(); + } + catch (Exception) + { + //MsgBox.ErrorShow(ex); + } + + } + private void DisplayCellTemperature() + { + try + { + for (int i = 0; i < seriesTemp.Length; i++) + dtTemp[i].Rows[0]["Value"] = Convert.ToDouble(ModuleData[ModuleID - 1].ValueData.CellTemperature[i]) / 10; + + double maxValue = Convert.ToDouble(ModuleData[ModuleID - 1].AvgData.maxTemp) / 10; + double avgValue = Convert.ToDouble(ModuleData[ModuleID - 1].AvgData.avgTemp) / 10; + double minValue = Convert.ToDouble(ModuleData[ModuleID - 1].AvgData.minTemp) / 10; + int maxCno = Convert.ToInt32(ModuleData[ModuleID - 1].AvgData.maxTempNum); + int minCno = Convert.ToInt32(ModuleData[ModuleID - 1].AvgData.minTempNum); + + ((XYDiagram)TChart.Diagram).AxisY.ConstantLines[2].Name = String.Format(" Max({0:#0.0}C:{1:00})", maxValue, maxCno); + ((XYDiagram)TChart.Diagram).AxisY.ConstantLines[3].Name = String.Format(" Avg({0:#0.0}C)", avgValue); + ((XYDiagram)TChart.Diagram).AxisY.ConstantLines[4].Name = String.Format("Min({0:#0.0}C:{1:00})", minValue, minCno); + + // Define its axis value. + ((XYDiagram)TChart.Diagram).AxisY.ConstantLines[2].AxisValue = maxValue; + ((XYDiagram)TChart.Diagram).AxisY.ConstantLines[3].AxisValue = avgValue; + ((XYDiagram)TChart.Diagram).AxisY.ConstantLines[4].AxisValue = minValue; + + //TChart.Legend.Visible = true; + + //TChart.Titles[0].Text = + // String.Format("Temperature Status"); + } + catch (Exception) + { + //MsgBox.ErrorShow(ex); + } + + } + + private void DisplayStatusStrUart() + { + if (ModuleData[ModuleID - 1].CommFail == false) + { + if (ModuleData[ModuleID - 1].ShelfCommFail == false) + { + switch ((int)ModuleData[ModuleID - 1].StatusData.status) + { + case 0x0000: // Stand by + lbStatus.Text = "STANDBY"; + lbStatus.ForeColor = System.Drawing.Color.Black; + break; + case 0x0001: // Charging + lbStatus.Text = "CHARGING"; + lbStatus.ForeColor = System.Drawing.Color.Blue; + break; + case 0x0002: // Discharging + lbStatus.Text = "DISCHARGING"; + lbStatus.ForeColor = System.Drawing.Color.Magenta; + break; + case 0x0004: // TRIP + if ((ModuleData[ModuleID - 1].StatusData.specialAlarm & 0x0001) != 0) + { + lbStatus.Text = "PWR-OFF"; // "ANTI -THEFT (Comm.)"; + lbStatus.ForeColor = Color.Red; + } + else if ((ModuleData[ModuleID - 1].StatusData.specialAlarm & 0x0002) != 0) + { + lbStatus.Text = "PWR-OFF"; // "ANTI -THEFT (Gyro)"; + lbStatus.ForeColor = Color.Red; + } + else + { + lbStatus.Text = "TRIP"; + lbStatus.ForeColor = Color.Red; + } + break; + case 0x0008: // Chg-Lmt + lbStatus.Text = "CHG-LIMIT"; + lbStatus.ForeColor = System.Drawing.Color.Blue; + break; + case 0x8000: // Stand by - Heat + lbStatus.Text = "STANDBY-HEAT"; + lbStatus.ForeColor = System.Drawing.Color.Blue; + break; + case 0x8001: // Charging + lbStatus.Text = "CHARGING-HEAT"; + lbStatus.ForeColor = System.Drawing.Color.Blue; + break; + case 0x8002: // Discharging + lbStatus.Text = "DISCHARGING-HEAT"; + lbStatus.ForeColor = System.Drawing.Color.Magenta; + break; + case 0x8004: // TRIP + lbStatus.Text = "TRIP-HEAT"; + lbStatus.ForeColor = System.Drawing.Color.Red; + break; + case 0x8008: // Chg-Lmt + lbStatus.Text = "CHG-LIMIT-HEAT"; + lbStatus.ForeColor = System.Drawing.Color.Blue; + break; + default: + lbStatus.Text = "UNKNOWN"; + lbStatus.ForeColor = System.Drawing.Color.Black; + break; + } + } + else + { + lbStatus.Text = "COMM FAIL"; + lbStatus.ForeColor = System.Drawing.Color.Red; + } + } + else + { + lbStatus.Text = "OFF LINE"; + lbStatus.ForeColor = System.Drawing.Color.Red; + } + } + private void DisplayStatusStrUart124050() + { + if (ModuleData[ModuleID - 1].CommFail == false) + { + if (ModuleData[ModuleID - 1].ShelfCommFail == false) + { + switch ((int)ModuleData[ModuleID - 1].StatusData.status) + { + case 0x0000: // Stand by + lbStatus.Text = "STANDBY"; + lbStatus.ForeColor = System.Drawing.Color.Black; + break; + case 0x0001: // Charging + lbStatus.Text = "CHARGING"; + lbStatus.ForeColor = System.Drawing.Color.Blue; + break; + case 0x0002: // Discharging + lbStatus.Text = "DISCHARGING"; + lbStatus.ForeColor = System.Drawing.Color.Magenta; + break; + case 0x0004: // TRIP + if ((ModuleData[ModuleID - 1].StatusData.errorCode & 0x8000) != 0) + { + lbStatus.Text = "PWR-OFF"; // "ANTI -THEFT (Comm.)"; + lbStatus.ForeColor = Color.Red; + } + else if ((ModuleData[ModuleID - 1].StatusData.errorCode & 0x4000) != 0) + { + lbStatus.Text = "PWR-OFF"; // "ANTI -THEFT (Gyro)"; + lbStatus.ForeColor = Color.Red; + } + else + { + lbStatus.Text = "TRIP"; + lbStatus.ForeColor = Color.Red; + } + break; + case 0x0008: // Chg-Lmt + lbStatus.Text = "CHG-LIMIT"; + lbStatus.ForeColor = System.Drawing.Color.Blue; + break; + case 0x8000: // Stand by - Heat + lbStatus.Text = "STANDBY-HEAT"; + lbStatus.ForeColor = System.Drawing.Color.Blue; + break; + case 0x8001: // Charging + lbStatus.Text = "CHARGING-HEAT"; + lbStatus.ForeColor = System.Drawing.Color.Blue; + break; + case 0x8002: // Discharging + lbStatus.Text = "DISCHARGING-HEAT"; + lbStatus.ForeColor = System.Drawing.Color.Magenta; + break; + case 0x8004: // TRIP + lbStatus.Text = "TRIP-HEAT"; + lbStatus.ForeColor = System.Drawing.Color.Red; + break; + case 0x8008: // Chg-Lmt + lbStatus.Text = "CHG-LIMIT-HEAT"; + lbStatus.ForeColor = System.Drawing.Color.Blue; + break; + default: + lbStatus.Text = "UNKNOWN"; + lbStatus.ForeColor = System.Drawing.Color.Black; + break; + } + } + else + { + lbStatus.Text = "COMM FAIL"; + lbStatus.ForeColor = System.Drawing.Color.Red; + } + } + else + { + lbStatus.Text = "OFF LINE"; + lbStatus.ForeColor = System.Drawing.Color.Red; + } + } + + private void DisplayAlarmStrUart() + { + if (ModuleData[ModuleID - 1].CommFail == false) + { + if (ModuleData[ModuleID - 1].ShelfCommFail == false) + { + switch (ModuleData[ModuleID - 1].StatusData.batteryStatus) + { + case 0: // NORMAL + if ((ModuleData[ModuleID - 1].StatusData.specialAlarm & 0x0001) != 0) + { + lbAlarm.Text = "FAULT (Comm)"; + lbAlarm.ForeColor = Color.Red; + } + else if ((ModuleData[ModuleID - 1].StatusData.specialAlarm & 0x0002) != 0) + { + lbAlarm.Text = "FAULT (GyroScope)"; + lbAlarm.ForeColor = Color.Red; + } + else + { + if ((ModuleData[ModuleID - 1].StatusData.specialAlarm & 0x0004) != 0) + { + lbAlarm.Text = "WARNING"; + lbAlarm.ForeColor = System.Drawing.Color.Orange; + } + else + { + lbAlarm.Text = "NORMAL"; + lbAlarm.ForeColor = System.Drawing.Color.Green; + } + } + break; + case 1: // WARNING + lbAlarm.Text = "WARNING"; + lbAlarm.ForeColor = System.Drawing.Color.Orange; + break; + case 2: // FAULT + lbAlarm.Text = "FAULT"; + lbAlarm.ForeColor = System.Drawing.Color.Red; + break; + case 3: // WARMING UP + lbAlarm.Text = "WARMING UP"; + lbAlarm.ForeColor = System.Drawing.Color.Black; + break; + case 4: // FAULT (Anti-Theft GyroScope.) + lbAlarm.Text = "FAULT (GyroScope)"; + lbAlarm.ForeColor = System.Drawing.Color.Red; + break; + case 5: // FAULT (Anti-Theft Gyro-Scope) + lbAlarm.Text = "FAULT (Comm)"; + lbAlarm.ForeColor = System.Drawing.Color.Red; + break; + default: + lbAlarm.Text = string.Format("UNKNOWN ({0})", ModuleData[ModuleID - 1].StatusData.batteryStatus); + lbAlarm.ForeColor = System.Drawing.Color.Red; + break; + } + } + else + { + lbAlarm.Text = "COMM FAIL"; + lbAlarm.ForeColor = System.Drawing.Color.Red; + } + } + else + { + lbAlarm.Text = "OFF LINE"; + lbAlarm.ForeColor = System.Drawing.Color.Red; + } + } + private void DisplayAlarmStrUart124050() + { + if (ModuleData[ModuleID - 1].CommFail == false) + { + if (ModuleData[ModuleID - 1].ShelfCommFail == false) + { + switch (ModuleData[ModuleID - 1].StatusData.batteryStatus) + { + case 0: // NORMAL + if ((ModuleData[ModuleID - 1].StatusData.errorCode & 0x8000) != 0) + { + lbAlarm.Text = "FAULT (Comm)"; + lbAlarm.ForeColor = Color.Red; + } + else if ((ModuleData[ModuleID - 1].StatusData.errorCode & 0x4000) != 0) + { + lbAlarm.Text = "FAULT (GyroScope)"; + lbAlarm.ForeColor = Color.Red; + } + else + { + if ((ModuleData[ModuleID - 1].StatusData.specialAlarm & 0x4000) != 0) + { + lbAlarm.Text = "WARNING"; + lbAlarm.ForeColor = System.Drawing.Color.Orange; + } + else + { + lbAlarm.Text = "NORMAL"; + lbAlarm.ForeColor = System.Drawing.Color.Green; + } + } + break; + case 1: // WARNING + lbAlarm.Text = "WARNING"; + lbAlarm.ForeColor = System.Drawing.Color.Orange; + break; + case 2: // FAULT + lbAlarm.Text = "FAULT"; + lbAlarm.ForeColor = System.Drawing.Color.Red; + break; + case 3: // WARMING UP + lbAlarm.Text = "WARMING UP"; + lbAlarm.ForeColor = System.Drawing.Color.Black; + break; + case 4: // FAULT (Anti-Theft GyroScope.) + lbAlarm.Text = "FAULT (GyroScope)"; + lbAlarm.ForeColor = System.Drawing.Color.Red; + break; + case 5: // FAULT (Anti-Theft Gyro-Scope) + lbAlarm.Text = "FAULT (Comm)"; + lbAlarm.ForeColor = System.Drawing.Color.Red; + break; + default: + lbAlarm.Text = string.Format("UNKNOWN ({0})", ModuleData[ModuleID - 1].StatusData.batteryStatus); + lbAlarm.ForeColor = System.Drawing.Color.Red; + break; + } + } + else + { + lbAlarm.Text = "COMM FAIL"; + lbAlarm.ForeColor = System.Drawing.Color.Red; + } + } + else + { + lbAlarm.Text = "OFF LINE"; + lbAlarm.ForeColor = System.Drawing.Color.Red; + } + } + + private void DisplayStatusStrRs485() + { + if (ModuleData[ModuleID - 1].CommFail == false) + { + if (ModuleData[ModuleID - 1].ShelfCommFail == false) + { + if ((ModuleData[ModuleID - 1].StatusData.batteryStatus == 4) + || (ModuleData[ModuleID - 1].StatusData.batteryStatus == 5)) + { + lbStatus.Text = "PWR-OFF"; + lbStatus.ForeColor = Color.Red; + } + else + { + switch (ModuleData[ModuleID - 1].StatusData.status) + { + case 0x0000: // Stand by + lbStatus.Text = "STANDBY"; + lbStatus.ForeColor = Color.Black; + break; + case 0x0001: // Charging + lbStatus.Text = "CHARGING"; + lbStatus.ForeColor = Color.Blue; + break; + case 0x0002: // Discharging + lbStatus.Text = "DISCHARGING"; + lbStatus.ForeColor = Color.Magenta; + break; + case 0x0004: // PROTECT + lbStatus.Text = "TRIP"; + lbStatus.ForeColor = Color.Red; + break; + case 0x0008: // Charging Lmt + lbStatus.Text = "CHG-LIMIT"; + lbStatus.ForeColor = Color.Blue; + break; + default: + lbStatus.Text = string.Format("UNKNOWN({0})", ModuleData[ModuleID - 1].StatusData.status); + lbStatus.ForeColor = Color.Black; + break; + } + } + } + else + { + lbStatus.Text = "COMM FAIL"; + lbStatus.ForeColor = Color.Red; + } + } + else + { + lbStatus.Text = "OFF LINE"; + lbStatus.ForeColor = Color.Red; + } + } + + private void DisplayAlarmStrRs485() + { + if (ModuleData[ModuleID - 1].CommFail == false) + { + if (ModuleData[ModuleID - 1].ShelfCommFail == false) + { + switch (ModuleData[ModuleID - 1].StatusData.batteryStatus) + { + case 0: // NORMAL + lbAlarm.Text = "NORMAL"; + lbAlarm.ForeColor = System.Drawing.Color.Green; + break; + case 1: // WARNING + lbAlarm.Text = "WARNING"; + lbAlarm.ForeColor = System.Drawing.Color.Orange; + break; + case 2: // FAULT + lbAlarm.Text = "FAULT"; + lbAlarm.ForeColor = System.Drawing.Color.Red; + break; + case 3: // WARMING UP + lbAlarm.Text = "WARMING UP"; + lbAlarm.ForeColor = System.Drawing.Color.Black; + break; + case 4: // FAULT (Anti-Theft GyroScope.) + lbAlarm.Text = "FAULT (GyroScope)"; + lbAlarm.ForeColor = System.Drawing.Color.Red; + break; + case 5: // FAULT (Anti-Theft Gyro-Scope) + lbAlarm.Text = "FAULT (Comm)"; + lbAlarm.ForeColor = System.Drawing.Color.Red; + break; + default: + lbAlarm.Text = string.Format("UNKNOWN ({0})", ModuleData[ModuleID - 1].StatusData.batteryStatus); + lbAlarm.ForeColor = System.Drawing.Color.Red; + break; + } + } + else + { + lbAlarm.Text = "COMM FAIL"; + lbAlarm.ForeColor = System.Drawing.Color.Red; + } + } + else + { + lbAlarm.Text = "OFF LINE"; + lbAlarm.ForeColor = System.Drawing.Color.Red; + } + } + + private void DisplayStatusStrSnmp() + { + if (ModuleData[0].CommFail == false) + { + if (ModuleData[0].ShelfCommFail == false) + { + if ((ModuleData[0].StatusData.batteryStatus == 4) + || (ModuleData[0].StatusData.batteryStatus == 5)) + { + lbStatus.Text = "PWR-OFF"; + lbStatus.ForeColor = Color.Red; + } + else + { + switch (ModuleData[0].StatusData.status) + { + case 0x0000: // Stand by + lbStatus.Text = "STANDBY"; + lbStatus.ForeColor = Color.Black; + break; + case 0x0001: // Charging + lbStatus.Text = "CHARGING"; + lbStatus.ForeColor = Color.Blue; + break; + case 0x0002: // Discharging + lbStatus.Text = "DISCHARGING"; + lbStatus.ForeColor = Color.Magenta; + break; + case 0x0004: // PROTECT + lbStatus.Text = "TRIP"; + lbStatus.ForeColor = Color.Red; + break; + case 0x0008: // Charging Lmt + lbStatus.Text = "CHG-LIMIT"; + lbStatus.ForeColor = Color.Blue; + break; + default: + lbStatus.Text = "UNKNOWN"; + lbStatus.ForeColor = Color.Black; + break; + } + } + } + else + { + lbStatus.Text = "COMM FAIL"; + lbStatus.ForeColor = Color.Red; + } + } + else + { + lbStatus.Text = "OFF LINE"; + lbStatus.ForeColor = Color.Red; + } + } + + private void DisplayAlarmStrSnmp() + { + if (ModuleData[0].CommFail == false) + { + if (ModuleData[0].ShelfCommFail == false) + { + switch (ModuleData[0].StatusData.batteryStatus) + { + case 0: // NORMAL + lbAlarm.Text = "NORMAL"; + lbAlarm.ForeColor = System.Drawing.Color.Green; + break; + case 1: // WARNING + lbAlarm.Text = "WARNING"; + lbAlarm.ForeColor = System.Drawing.Color.Orange; + break; + case 2: // FAULT + lbAlarm.Text = "FAULT"; + lbAlarm.ForeColor = System.Drawing.Color.Red; + break; + case 3: // WARMING UP + lbAlarm.Text = "WARMING UP"; + lbAlarm.ForeColor = System.Drawing.Color.Black; + break; + case 4: // FAULT (Anti-Theft GyroScope.) + lbAlarm.Text = "FAULT (GyroScope)"; + lbAlarm.ForeColor = System.Drawing.Color.Red; + break; + case 5: // FAULT (Anti-Theft Gyro-Scope) + lbAlarm.Text = "FAULT (Comm)"; + lbAlarm.ForeColor = System.Drawing.Color.Red; + break; + default: + lbAlarm.Text = string.Format("UNKNOWN ({0})", ModuleData[0].StatusData.batteryStatus); + lbAlarm.ForeColor = System.Drawing.Color.Red; + break; + } + } + else + { + lbAlarm.Text = "COMM FAIL"; + lbAlarm.ForeColor = System.Drawing.Color.Red; + } + } + else + { + lbAlarm.Text = "OFF LINE"; + lbAlarm.ForeColor = System.Drawing.Color.Red; + } + } + + private void DisplayAlarmUart() + { + } + + private void DisplayAlarmRs485() + { + } + + private void DisplayAlarmSnmp() + { + } + + #endregion + + #region BUTTON EVENT + + private void btnParam_Click(object sender, EventArgs e) + { + switch (Config.CommType) + { + case csConstData.CommType.COMM_UART: + foreach (Form frm in Application.OpenForms) + { + if (frm.Name == "fmxParamConfig") + { + frm.Activate(); + return; + } + } + fmxParamConfig ParamConfigForm = new fmxParamConfig(ModuleID, Config, ModuleData[ModuleID - 1].ParamData); + + ParamConfigForm.OnUpdate += UpdateParam; + ParamConfigForm.OnCommand += ParamSetCmd; + ParamConfigForm.Show(); + break; + case csConstData.CommType.COMM_RS485: + FmxInformation InformationForm1 = new FmxInformation(ModuleID, Config, ref ModuleData[ModuleID - 1]); + + InformationForm1.ShowDialog(); + break; + case csConstData.CommType.COMM_SNMP: + FmxInformation InformationForm2 = new FmxInformation(ModuleID, Config, ref ModuleData[ModuleID - 1]); + + InformationForm2.ShowDialog(); + break; + default: + break; + } + } + + private void btnCalibration_Click(object sender, EventArgs e) + { + switch (Config.CommType) + { + case csConstData.CommType.COMM_UART: + fmxCalibration CalibrationForm = + new fmxCalibration(ModuleID, Config, ModuleData[ModuleID - 1].ParamData, ModuleData[ModuleID - 1].CalibrationData); + + CalibrationForm.OnUpdate += UpdateCalibration; + CalibrationForm.OnCommand += ParamSetCmd; + CalibrationForm.ShowDialog(); + break; + case csConstData.CommType.COMM_RS485: + fmxAntiTheft AntiTheftForm = new fmxAntiTheft(ModuleID, ModuleData[ModuleID - 1].CalibrationData); + + AntiTheftForm.OnUpdate += UpdateCalibrationRS485; + AntiTheftForm.OnCommand += AntiTheftSetCmd; // OnSendUartData + AntiTheftForm.OnSendUartData += OnSendUartData; + AntiTheftForm.ShowDialog(); + break; + case csConstData.CommType.COMM_SNMP: + break; + } + } + + #endregion + + #region CONTROL EVENT FUNCTION + + private void UpdateParam(object sendor) + { + ((fmxParamConfig)sendor).UpdateData(ModuleData[ModuleID - 1].ParamData, ModuleData[ModuleID - 1].CalibrationData); + } + + private void UpdateCalibration(object sendor) + { + ((fmxCalibration)sendor).UpdateData(ModuleData[ModuleID - 1].ParamData, ModuleData[ModuleID - 1].CalibrationData, ModuleData[ModuleID - 1]); + } + + private void UpdateCalibrationRS485(object sendor) + { + ((fmxAntiTheft)sendor).UpdateData(ModuleData[ModuleID - 1].ParamData, ModuleData[ModuleID - 1].CalibrationData, ModuleData[ModuleID - 1]); + } + + private void ParamSetCmd(int mID, int mode, int index, int flag, + ref CsDeviceData.DeviceModuleData.DeviceParamData aParam, + ref CsDeviceData.DeviceModuleData.DeviceCalibration aCalib) + { + OnCommand?.Invoke(mID, mode, index, flag, ref aParam, ref aCalib); + } + + // RS485 Control Function + private void AntiTheftSetCmd(int mID, int mode, int index, int flag, + ref CsDeviceData.DeviceModuleData.DeviceParamData aParam, + ref CsDeviceData.DeviceModuleData.DeviceCalibration aCalib) + { + OnCommand?.Invoke(mID, mode, index, flag, ref aParam, ref aCalib); + } + + #endregion + + #region HELPERS + private int SafeModuleIndex() + { + // ModuleId는 1-based로 보이므로 내부 인덱스는 0-based + int idx = Math.Max(0, ModuleID - 1); + if (ModuleData == null || ModuleData.Length == 0) return 0; + if (idx >= ModuleData.Length) idx = 0; + return idx; + } + + private ref CsDeviceData.DeviceModuleData GetModule() + { + int idx = SafeModuleIndex(); + return ref ModuleData[idx]; + } + + #endregion + } +} diff --git a/LFP_Manager/Controls/ucShelfStatus.resx b/LFP_Manager/Controls/ucShelfStatus.resx new file mode 100644 index 0000000..88845ee --- /dev/null +++ b/LFP_Manager/Controls/ucShelfStatus.resx @@ -0,0 +1,1158 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + + + /9j/4AAQSkZJRgABAQEAAAAAAAD/2wBDAAcHBwcIBwgJCQgMDAsMDBEQDg4QERoSFBIUEhonGB0YGB0Y + JyMqIiAiKiM+MSsrMT5IPDk8SFdOTldtaG2Pj8D/2wBDAQcHBwcIBwgJCQgMDAsMDBEQDg4QERoSFBIU + EhonGB0YGB0YJyMqIiAiKiM+MSsrMT5IPDk8SFdOTldtaG2Pj8D/wgARCAhwDwADASIAAhEBAxEB/8QA + HAABAAICAwEAAAAAAAAAAAAAAAcIBQYBAwQC/9oACAEBAAAAALIgAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAOvs5AAAAAA + Bx4/K9Hp7XIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADzx6AAAAAAAAA + AAAADffaAAAAABr2h6fq+BxHR8cfXZ35XMZ/Zdu3DMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAACMwAAAAAAAAAAAAASN3AAAAADBQ7FerfIAA7NmkWTd/wDsAAAAAAAAAAAAAAAA + AQxX8AAAPv79Hu9+WzWxbXuPuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEZgAAAAAAAAAAAAAkbuAAAA + AYOv8SdAAAAZq2m4AAAAAAAAAAA41vUMN5PTlNr237AAAABCtawAAAAHdtkmyxs3IAAAAAAAAAAAAAAA + AAwGsyJyAAAAAAAAAAAAAEZgAAAAAAAAAAAAAkbuAAAAAhyuXhDnYZC3fYcr7PjrxmL1vSNAxQFlpoAA + AAAAAAAAGMhWItd+Q5yksTjsAAAAAjqJuvH69rHWAAAAD73+epCAAAAAAAAAAAAAAAAAxUGwmvd2gAAA + AAAAAAAAABGYAAAAAAAAAAAAAJG7gAAAA6q0w7wO6WZr3PkAOmNa9asE22RAAAAAAAAAAIerpjRz9/HA + 9E5z/wBgAAAAOMHV3QAcyrvXfwA6fNiMFq+t9AHMk2WzwAAAAAAAAAAAAAAADr0WH4p8r13u7QAAAAAA + AAAAAAAjMAAAAAAAAAAAAAEjdwAAAA+KsxUG72c2sAAdVYojEhW8AAAAAAAAAA660Q7wZidpMyuLiWB/ + MN5tnkgAAAAMFSLrCRLc8gAHk0eLooxgPdZ6UgAAAAAAAAAAAAAADGazpeh6BiQ9d7u0AAAAAAAAAAAA + AIzAAAAAAAAAAAAABI3cAAAAK9QMEvWb7QAAfFUIzMzeTkAAAAAAAAAFZYbG62xzAR/UfpG53E7wAAAA + KV6qE3WQAAA8sKwJ4A+7JTSAAAAAAAAAAAAAAB80VxoB673doAAAAAAAAAAAAARmAAAAAAAAAAAAACRu + 4AAAA0ennwJUtR9AAAMTSfHvu9GTAAAAAAAAACH6xcGYubmQK+wGE4WOAAAAAqXGoTzYUAAAwVUdMD7t + XKAAAAAAAAAAAAAAAPmqGKw2C+Qeu93aAAAAAAAAAAAAAEZgAAAAAAAAAAAAAkbuAAAAKe6GMzdXIAAA + CvUDFwt8AAAAAAAAAGLpPjRZuYwHjpHiR6bz+4AAAAFWYnCdrEAAADwU11oMldPMgAAAAAAAAAAAAAAO + NZqrqQeu93aAAAAAAAAAAAAAEZgAAAAAAAAAAAAAkbuAAAAaXTbgWHncAAAMDSPrWSmwAAAAAAAAAV3g + kZm73eAQfXELcSMAAAACrkSBO1iAAAA0Sn3yExWcAAAAAAAAAAAAAAAEf1C4Hrvd2gAAAAAAAAAAAABG + YAAAAAAAAAAAAAJG7gAAAFdYLH1drYgAAAU60ZMNnQAAAAAAAADz0exQmqygA6KZaqLib0AAAACsEQBO + 1iAAAAVGjoPReLKAAAAAAAAAAAAAAAHkop5x673doAAAAAAAAAAAAARmAAAAAAAAAAAAACRu4AAABTjS + Bk71cgAAAgSvjcrmAAAAAAAAAEZ1NC18ngBrFR8A3a4nYAAAACsEQBO1iAAAARfVEFmZlAAAAAAAAAAA + AAAAFGMQPXe7tAAAAAAAAAAAAACMwAAAAAAAAAAAAASN3AAAAfFGMWNluyAAABpNN3qvd3AAAAAAAAAK + 4QgObvZ8AHl0Tnfe8GPrOsTnwAACsEQBO1iAAAAeOivnCXbQgAAAAAAAAAAAAAACjmEHrvd2gAAAAAAA + AAAAABGYAAAAAAAAAAAAAJG7gAAAPPQ/pGevAAAAB00S8nNz9uAAAAAAAAAU60Yeu+H2AAANKpsuduAA + ABWCIAnaxAAAAFMdPDd7jgAAAAAAAAAAAAAACj+BHrvd2gAAAAAAAAAAAABGYAAAAAAAAAAAAAJG7gAA + APihnnHfev2AAAAVeyciyB6QAAAAAAAAFFMYNju1yAAAIerEuduAAABWCIAnaxAAAAFVIsDarqAAAAAA + AAAAAAAAACj+BHrvd2gAAAAAAAAAAAABGYAAAAAAAAAAAAAJG7gAAAOKM4gLYyaAAAAAAAAAAAAADyUS + 6RudywAAArRDC524AAAFYIgCdrEAAAAVbiUNuugAAAAAAAAAAAAAAAKP4Eeu93aAAAAAAAAAAAAAEZgA + AAAAAAAAAAAAkbuAAAAU60YJPteAAAAAAAAAAAAADDUb4G/XAAAAHFJNdXO3AAAArBEATtYgAAACqcWh + IVvAAAAAAAAAAAAAAABR/Aj13u7QAAAAAAAAAAAAAjMAAAAAAAAAAAAAEjdwAAACucGh93J3IAAAAAAA + AAAAAANfpCEi25AAAGkU4LnbgAAAVgiAJ2sQAAABTfSQmuyYAAAAAAAAAAAAAAAo/gR673doAAAAAAAA + AAAAARmAAAAAAAAAAAAACRu4AAABoVP+A3C4vpAAAAAAAAAAAAAGEo4EkW2AAAFYIgLnbgAAAVgiAJ2s + QAAADrotjgtLLIAAAAAAAAAAAAAAAo/gR673doAAAAAAAAAAAAARmAAAAAAAAAAAAACRu4AAAB8Uq1kE + l2r9AAAAAAAAAAAAABhKOBJFtgAADUaadRc7cAAACsEQBO1iAAAAaRTngeq8WSAAAAAAAAAAAAAAAFH8 + CPXe7tAAAAAAAAAAAAAHVpvIAAAAAAAAAAAAAbZ6gAAACIavgb1arNAAAAAAAAAAAAAMJRwJItsAAA8d + PtOFztwAAAKwRAE7WIAAABWyFAmCzwAAAAAAAAAAAAAAAUfwI9d7u0AAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAA66daUBlrLyiAAAAAAAB18c/X0AAAAwlHAki2wAAGMqpH4XO3AAAArBEATtYgAAAMJSjxj13S2E + AAAOPhz9cgAAAAAB8cc/YAAAUfwI9d7u0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa5TTHgcylZDNgAA + AAAA1yOdK1bDY/q+vXk9l2+Qd77QAD484YClYSJa8Aej7B5okgDCAuNtoH16OQAVgiAJ2sQAAAOKoxgF + j5vAAAa9HGlanhvB19nfktg2+Q5C7AAABHtcrFyIBjItjrUcR1ejLbVvkqZwAACj+BHrvd2gDp6gA7+w + AAAAAAAAAAAAAAAAAAAAAAAAAAAAGk1G8AD2TrOXrAAAAAA6YjhjTPkAGXl+cMwABGtUQ46g+uwAWllN + 8xrq+lR5jQHbyAvZ7AAVgiAJ2sQAAAK+wGExWb5AADriqE9J+AAZudpp7AAAaZAsYfNi5zDCwHEXkAO6 + WrF5MAAKP4Eeu93aAY2jIALHzSAAAAAAAAAAAAAAAAAAAAAAAAAAAABqlTdeAM3Psw9oAAAAAjKuOuB2 + 57P+nqweA8geydp37QAjGp4AAAtPK7poV8AAAL3ZAAFYIgCdrEAAAOmucKcHM02R+wAAj+tmqB3bFnu3 + Ha1i+A362GQAA+NYjWKtM+Sf5/OIXrz4Dn74+AM3bXbgABR/Aj13u7QDH0V+OAD6slNQAAAAAAAAAAAA + AAAAAAAAAAAAAAAADH1hjDgA2Wf5W7AAAAAeetsO/I3WbZJyYdGkw/E3nG7WszgA06DQ8UYhmZCAE1by + 6qwg0LAhJOSAWZ9QAKwRAE7WIAAAj+t+oj3WQmAAAOK+wP8AAzc8StlR8adBMWcDdLg+kAQtGGn4rgE4 + 2NeSsEVm4TRIuX69fjiEsGGVudmwACj+BHrvd2gDy4yIK/cD0zBKu1ZLsAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAOIgrjjwBtNgJR7AAAADwVL0Qe2yMvfQA1ysGhjMW72sAAwlHAki2wAACq0VBc7cAAACsEQBO1i + AABjYyhrRuDtliw2bAABWqFglizHuAIbrP8AIl6z/IBUiOACZLNY+pOjspY+WfoHirBFoSVbQAAo/gR6 + 73doANNppwbfanZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDVxir5AG12Bk/7AAAB01F0EZK3O5gAdNXY + pGVuNsYADCUcCSLbAAAKrRUFztwAAAKwRAE6WKAfPR5/FhNb1HRNO6DnMStNWygAAQ1WfgSjav6ACu0F + Dm32/gEbYLw6NGXWEr2bqJpDdrWZwA6qZ6kObk7oAAo/gR673doAeKoelEh2v9gAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAI8rjqQAbbP8o8gAACuMHj7tzIQAB0090kbbcn0AAYSjgSRbYAABVaKguduAAABWCIA7 + +8B89fT8h9ZHbt6kfd+0AAB5qQYke67OXABjKPeUSFbwACE62hI3dGaS7U+oAItqmE12TAAUfwI9d7u0 + AeGpmhEl2q9IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADrh2AMMAG52FkXkAADSKd/Amey4AAapTLpE7WI + AAwlHAki2wAACq0VBc7cAAACsEQAAADbNuzWb2jas5yAABHFSAnOxYACpcajsvRkgAeKivQOeEk2u7wA + eaivkGyXaAAUfwI9d7u0A8NSdFJRtN3gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB44SgvHADmRbGbYAAC + ocej1XeywAAKxQ8O+62wgAwlHAki2wAACq0VBc7cAAACsEQAAAAH1npFlCQ+4AARZVQdl28+AAgCAAtl + JgAFIMADd7e+oABTvRR2XpyIAFH8CPXe7tAY2pOkks2g7QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGOg + yE/CAO6cJ/8ASAAaVTfgTJZoAADVaW/ImWzIAMJRwJItsAAAqtFQXO3AAAArBEAS/NoA7ejzYzGYTXdR + 1fzgzMzTZkwAGIpH5CYrOAAEQ1fCxs4gAUv1EM3cvMAAFXYjC524AAUfwI9d7u0DFVI00mOy/YAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAGLhCE/AANptTtgACtULBcPewAAFM9NHrvJ7wAwlHAki2wAACq0VBc7 + cAAACsEQBO1iAAAeTRIyijFhkJ8m7sAA0CCuiRJx7gACLqpBO9hwAKaaYO23u+AACt8IhbaSAAKP4Eeu + 93aDD1G1Imiyn0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxsIwh4AD1WdlcAHXRzEDKXn+wAAEAQAFn + ZhADCUcCSLbAAAKrRUFztwAAAKwRAE7WIAAAPNEcAYUN0tPsYAAAACNKmBN1kAAKbaUM7eEAAK9QMFr5 + PAAo/gR673doYSourE32O5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADGwXCPlAfdkJrADUKYBKNrQAA + DQKgBKFrgAwlHAki2wAACq0VBc7cAAACsEQBO1iAAAA8VbIi4GStfvoAAAAEaVMCbbIgAU20oZ28IAAQ + BAAWslIACj+BHrvd2jBVC1tzO9hgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADCV2if5A+rPS8AIUrYF + hZ5AAAMfRXrGUvR9ADCUcCSLbAAAKrRUFztwAAAKwRAE7WIAAABxBdePkeq2++gAAAAjSpgTbZEACm2l + DO3hAACA6+hayUgAKP4Eeu93aa/UPXXNgZ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH1Y9eA77jb + iAVlhsLXyeAAAKOYQc3a2MAYSjgSRbYAABVaKguduAAABWCIAnaxAAAACAq/Bkrl7CAAAAOmG61hNtkQ + AKbaUM7eEAAIDr6FrJSAAo/gR673drW6iYA77p7IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4KwRe + Bt9zPsBT7QguXuYAAApxpAWwk4AYSjgSRbYAABVaKguduAAABWCIAnaxAAAAD5qTHIb5cD6AAADFaTo2 + haf4gTbZEACm2lDO3hAACA6+hayUgAKP4Eeu93brFRMGG/W/5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAA+K2QuBZ2YQFIMAF4s4AAAKpRcFj5vAGEo4EkW2AAAVWioLnbgAAAVgiAJ2sQAAAAa5SnqC1ErAAA + eLQY3j3WusATbZEACm2lDO3hAACA6+hayUgAKP4Eeu92sVGwwFlJqAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAfNWYpBtN0/oHzRLwBfP1gAACsMPhPlggBhKOBJFtgAAFVoqC524AAAFYIgCdrEAAAACrEUBu + dywAB545iON/GHOakf2wgE22RAAptpQzt4QAAgOvoWslIACj+BHst7UzEtj1wPbdLPgAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAPHTLWg5uHvQPPRHzj7vv2AAACtsJhNdkwBhKOBJFtgAAFVoqC524AAAFYIg + CdrEAAAACMqnBzdvYgAMPC8NYYOdrlGTtw+40qYE22RAAptpQzt4QAAgOvoWslIACj+BH37PAlC0tO9O + CRLcfQAAAAAAAAAAA6dXAAAAAAAAAAAAABsvpAAAAAAAAARxUngJzsWDx0T6R331+gAABXKDgmSzQAwl + HAki2wAACq0VBc7cAAACsEQBO1iAAAABi6MfAWbmMAMdAsMeMMhLsv7jyI0qYE22RAAptpQzt4QAAgOv + oWslIACj+BAkq1vfp1N+oLNzGAAAAAAAAAAAEZgAAAAAAAAAAAAAkbuAAAAAAAAAcUy08NyuYDyUS6R3 + X07AAABXCEAmWzIAwlHAki2wAACq0VBc7cAAACsEQBO1iAAAABxRfFBOVjADiI654oMvOUze8CNKmBNt + kQAKbaUM7eEAAIDr6FrJSAAo/gQSJbL0FeIIDIXTzYAAAAAAAAAAAjMAAAAAAAAAAAAAEjdwAAAAAAAA + BBFeA9l7e0OqiHlH1fXvAAAFaYXCb7HgDCUcCSLbAAAKrRUFztwAAAKwRAE7WIAAAACk+shLdowHirDF + vA75rnzIAEaVMCbbIgAU20oZ28IAAQHX0LWSkABR/AhvttvWPNTDWQku2XIAAAAAAAAAABGYAAAAAAAA + AAAAAJG7gAAAAAAAADRKeBzeXMBxRPHBe3IgAACrcShPtgQBhKOBJFtgAAFVoqC524AAAFYIgCdrEAAA + ABSfWQlm0oGNqLpobdaPbQAjSpgTbZEACm2lDO3hAACA6+hayUgAKP4Eei8uRBolP/gLQy6AAAAAAAAA + AARmAAAAAAAAAAAAACRu4AAABxx9AAAABiqMfI5u1sYKR66F2tkAAAFRY7Cx83gDCUcCSLbAAAKrRUFz + twAAAKwRAE7WIAAAACjGICabKg6qiaCEk2p9gAI0qYE22RAAptpQzt4QAAgOvoWslIACj+BHrvd2gVrh + UMldTMAAAAAAAAAAAIzAAAAAAAAAAAAABI3cAAACO4rj2d5jAAAADz0N6xzeHOAqDH4XE3oAAAUp1cLX + SgAMJRwJItsAAAqtFQXO3AAAArBEATtYgAAAAeeiPnCwc9ggavQblcP0gARpUwJtsiABTbShnbwgABAd + fQtZKQAFH8CPXe7tA8lKsCEpWr5AAAAAAAAAAAjMAAAAAAAAAAAAAEjdwAAAK7wSk22IAAAAeah3WOy9 + vtBWmFws/L4AAB10P8o5uptIAwlHAki2wAACq0VBc7cAAACsEQBO1iAAAABqtKwWvk8MbSLwD7ubtwAC + NKmBNtkQAKbaUM7eEAAIDr6FrJSAAo/gR673doCN6lcBaiVgAAAAAAAAAAIzAAAAAAAAAAAAABI3cAAA + DQKgPZeb2AAAADC0d+RmbycghWtYTtYgAAA1alfA916u4AYSjgSRbYAABVaKguduAAABWCIAnaxAAAAA + hqswfV5MwEM1nCSLbAAEaVMCbbIgAU20oZ28IAAQHX0LWSkABR/Aj13u7QCrsRhlbq5QAAAAAAAAAAEZ + gAAAAAAAAAAAAAkbuAAAB00Yxy0ctgAAACO6ihJtsQNPpiG/XAAAAIcrIEhW8ADCUcCSLbAAAKrRUFzt + wAAAKwRAE7WIAAAAFSI4DdbkchVWKwspNQABGlTAm2yIAFNtKGdvCAAEB19C1kpAAUfwI9d7u0AxtKsQ + Er2nAAAAAAAAAABGYAAAAAAAAAAAAAJG7gAAAKnxi3q4fIAAABXSDAsnNYHXRnFj03r9QAACqsVhYidg + AwlHAki2wAACq0VBc7cAAACsEQBO1iAAAADXKU9QWVmkOKV6sFvJCAAI0qYE22RAAptpQzt4QAAgOvoW + slIACj+BHrvd2gCK6qhza2UAAAAAAAAAAAjMAAAAAAAAAAAAAEjdwAAAEI1vc3D3oAAAB00jwY9F3cyA + rJDgWulAAADyUa8I+7rbKAGEo4EkW2AAAVWioLnbgAAAVgiAJ2sQAAAAVdiMMxdr2BxRbFhcTegACNKm + BNtkQAKbaUM7eEAAIDr6FrJSAAo/gR673doAVRi8MxdXIgAAAAAAAAACMwAAAAAAAAAAAAASN3AAAAah + THhvlwPoAAACE62hMFngDRadhJlsgAAIcrIEhW8ABhKOBJFtgAAFVoqC524AAAFXIkCdrEAAAAI1qb8h + ZiZgcUVxgW6kQAAjSpgTbZEACm2lDO3hAACA6+hayUgAKP4Eeu93aAGFpXjwl20IAAAAAAAAAAjMAAAA + AAAAAAAAAEjdwAAAHXRXHlmpkAAABrlNMePbdTOgHzTnSR2XR2kAAOqlusDm20jgA12kYSNbgAABViKA + ubuIAABViKAnew4AAAGnVDxwSLbf6ApRrAWUmoAAjSpgTbZEACmuljOXiAACvsBhauUwAKPYIeu9vcAC + HKyBzbKSwAAAAAAAAACMwAAAAAAAAAAAAASN3AAAAKgaAeu4W4gAADFVB1Qc2WmcAI+qHwJJtqAAEHVy + CRbccgA1mk4SHbsAABWeGQt9IAAABVCMAm+x4AAAI3q1jg2S4mWAVWioJMtkAA+KwRGE02VAApjp4zV4 + +QABXyBAtRKwAFHMIPTfDtAB81HjsM5dP3gAAAAAAAAAIzAAAAAAAAAAAAABI3cAAAArpBgy9uttAAAa + 1VDVQmey4AFYYfHNl5mAANQp54x7rm7GABo1Og3W5IAACB68hZiZgAACmemhLlogAABi6/wz1hsNvNhA + Iiq8HZc/awAeSrsXAlW1IAFJNcGTvT9AACt8IhZ2YQAKL4kdt8+4ADXqW+QJjs2AAAAAAAAAAjMAAAAA + AAAAAAAAEjdwAAACJqtB7bJS9yAAOuGq8eEJjsx9gAeKnepDss1MAAGnVKw4+7UykAAh2sYZS8/2AABH + 1Qgk62AD4+wAxdHfOGdu52gAA6tJiWJPCDd7XZkAeak+CDabe5gAajVzUgNtuiADool5R33w7wABVmJw + n+fwAeCi3SObv54ABB1cg+rVyiAAAAAAAAABGYAAAAAAAAAAAAAJG7gAAAGq0rA3md5H7wAeCKYP1YO6 + wU6fQABhqh6sOZlsT7wD4hyufjHbZeYgAHmp9pYLPy+AAB10hwY+7g70HXDMK3H9oB4qxRWBvktZjuAH + V5vFi8Bq+o48D0TpPncACNKnfIZixkrdgNfguG+n6njR49H3dbZQAiyqgLdyGAAeakeGDdrjfQAQ3WUF + jpwAAfFO9ID1WilIAAAAAAAAAEZgAAAAAAAAAAAAAkbuAAAAeWiPSAye/wC87RnMn6PT5fBrWoaDoPlB + uVl91AABj6yRbwMlMss7X9jDxlCuoBm7RSCAMLrvxi9WiTWAOyUpDzvq7dnyQACHqxB77CST7sPHsMas + nCxw0KMenyYDSvCAAAAAeqWZ42MAAhCuXyDNSLtuR6Nd0LTOt7LKS9F9UQ3izeS0fJ78apjsbo0KeMGY + nfa/Zu30A1DHYKGdEAkqXsvs+YGj+fFaDDfQDumff8lltqADVqY9AcyJK+zd+49gAAAAAAAAEZgAAAAA + AAAAAAAAkbuAAAAIiibQPMABy4Ac7VOst/YAADiLq8a0DIbD7OvB4brD0THYPIABBddQAAWhl0ABxWOH + gOeBv1pM4IVrWAAAAAOfdvcmynlAAARVWjGgAcyDZXZ3FUYwDlxNVlCo8cgAei9nqAU10sACyM2nzRPH + gAJEt0ACAIAAO+8GXAAAAAAAAAjMAAAAAAAAAAAAAEjdwAAAAeCPY90DWekAAc5WS5bkHkAAAHXGEO6B + 5QA+tjleZM8ABD8GgAAsLJoAB8whAWPA52eeJb+wiOCQAAADnu9fuy+d2Pbtm7wAABi4FiDHAHokSbZF + Dz1vh7qHOwzrM5WbRgAO64noAVX1UACdJePmnfjAAbvZsAHXUvCgO23WTAAAAAAAAAjMAAAAAAAAAAAA + AEgewAAAAA8Go6frGtYHE+fp+XZ3+3YNo3DeNv7gAAAAePSdO1vDeDr59GYzu1btsnIAAAAAAAA8EY6J + rvm7c5tEibn9gAAAAAAAAAAPNH2i6ziHdmNi3HfskAYTQcPzmds2n6AAAAAAAAAAAAAAAAAAAAAAAOOn + oAAAAAAAAAAAAAD1/YAAAAAB14vG+X79mUyHIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAD//xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/aAAgBAhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAACgAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAgAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAACgAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAACgAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAgAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAAAAAACAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAgAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAA/8QAFQEBAQAAAAAAAAAAAAAAAAAAAAH/2gAIAQMQAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAA + ACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAA + AAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAA + AAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIA + AAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC + AAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ACAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAgAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAIAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAACAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAgAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/EAFMQAAEDAgICCwsICAUEAgMBAQECAwQA + BQYHESASExUhMTZAQVFSkRYwMjRTVXFzdJKxFCIjQmBhcqEQFzNQVIGTsiQ1YnCEQ2SCwURjJtHgg4D/ + 2gAIAQEAAT8A/wD7/wD/AP8AgTwqABJrdCN1h2it0I3WHaK3QjdYdordCN1h2it0I3WHaK3QjdYdordC + N1h2it0I3WHaK3QjdYdordCN1h2it0I3WHaK3QjdYdordCN1h2it0I3WHaK3QjdYdordCN1h2it0I3WH + aK3QjdYdordCN1h2it0I3WHaK3QjdYdordCN1h2it0I3WHaK3QjdYdordCN1h2it0I3WHaK3QjdYdord + CN1h2it0I3WHaK3QjdYdordCN1h2it0I3WHaK3QjdYdordCN1h2it0I3WHaK3QjdYdordCN1h2it0I3W + HaK3QjdYdordCN1h2it0I3WHaK3QjdYdordCN1h2it0I3WHaK3QjdYdordCN1h2it0I3WHaK3QjdYdor + dCN1h2it0I3WHaK3QjdYdordCN1h2it0I3WHaK3QjdYdordCN1h2it0I3WHaK3QjdYdordCN1h2it0I3 + WHaK3QjdYdordCN1h2it0I3WHaK3QjdYdordCN1h2it0I3WHaK3QjdYdordCN1h2it0I3WHaK3QjdYdo + rdCN1h2it0I3WHaK3QjdYdordCN1h2it0I3WHaK3QjdYdordCN1h2it0I3WHaK3QjdYdordCN1h2it0I + 3WHaK3QjdYdordCN1h2it0I3WHaKEyKOFQP8xSFBSdkDpB/dRNFbY4VpH86duUJrw5CB/wCQpV/tSRvy + m/eTQxFaVDQmUj7/AJyabvVq3iJCD/5CmpUV7wXkdtbNJ+sO3/8A5am+JvHf06KK16fCNbYvrGtsX1jW + 2L6xrbF9Y1ti+sa2xfWNbYvrGtsX1jW2L6xrbF9Y1ti+sa2xfWNbYvrGtsX1jW2L6xrbF9Y1ti+sa2xf + WNbYvrGtsX1jW2L6xrbF9Y1ti+sa2xfWNbYvrGtsX1jW2L6xrbF9Y1ti+sa2xfWNbYvrGtsX1jW2L6xr + bF9Y1ti+sa2xfWNbYvrGtsX1jW2L6xrbF9Y1ti+sa2xfWNbYvrGtsX1jW2L6xrbF9Y1ti+sa2xfWNbYv + rGtsX1jW2L6xrbF9Y1ti+sa2xfWNbYvrGtsX1jW2L6xrbF9Y1ti+sa2xfWNbYvrGtsX1jW2L6xrbF9Y1 + ti+sa2xfWNbYvrGtsX1jW2L6xrbF9Y1ti+sa2xfWNbYvrGtsX1jW2L6xrbF9Y1ti+sa2xfWNbYvrGtsX + 1jW2L6xrbF9Y1ti+satWgwGNJPB+5SQBpJq4Yuw5bAoy7i0COFIUCauGcuH42kRGHpJ9ypmdlzKv8HbW + kfjJJqVmtjB8nYS0sjoQmpON8Uyv2t2fPoNOXu7unSu4SFelZo3Gerhlun0rNGbLP/yHPeNCZLHA+57x + oT5o/wDlO+8aFzuSeCY8PQs0i+3lHg3GQP8A/Q1HxviqN+yuz/bTOaWNGjv3Mr/EKjZ0YibAD0WM6Ki5 + 3R94SrSv0oVULNjCEnY7N1xk9C01BxHYZ2x2i5ML08wUNNAgjSPtfpFaRWkVpFaRWkVpFaRWkVpFaRWk + VpFaRWkVpFaRWkVpFaRWkVpFaRWkf7m3LxJ/0D40eH7KWUgW5n9x3nE1ksiCqdNQ2epwqq9Z08Ldpg// + AOrtXXGuJrqf8TcnQOqg7AUpa1klSionhJOnkKHXG1BSFqSRwEHRVtxrie2eLXR4fco7IVac6royEIuM + JD6esjeNWfM7Ctz2pC31RnVfVcph+PIbDjTqVoPApJBB+1ec8ybDgWYx33GSXnQdgSK3evfnOT/UNbvX + vznJ/qGt3r35zk/1DW71785yf6hrd69+c5P9Q1u9e/Ocn+oa3evfnOT/AFDW71785yf6hrd69+c5P9Q1 + u9e/Ocn+oa3evfnOT/UNbvXvznJ/qGt3r35zk/1DW71785yf6hrd69+c5P8AUNbvXvznJ/qGt3r35zk/ + 1DW71785yf6hrd69+c5P9Q1u9e/Ocn+oa3evfnOT/UNbvXvznJ/qGhf735zk/wBQ0MRX4cF0k/1DQxNi + AcF1k++aRi/Ezfg3aR71NZgYua8C7PUjNHGqOG5lXpTUbOLFbOjZbS56U0xndcwRt9qYUB1VGomdtq4H + ra+ioWZ+EZOxHy0tk8ywRUO8WmYEmPPYcJA0ALB/3EuXiT/oHxo8P2UspAtzP7hvuI7TYo5fnyUo6qOF + aqxLm7dpxWxakfJGOvwuGpEmRJdU6+8txxW+VKOknlFsxFerUtC4c51vYneAUSmsA4gl37DTUyWoF/bF + NrI5yj7BrWlCSpaglI4SToFXDGOGrdpEm5sg9CTsqm5wYYY0oZS8996RT2eFv4GrU7Qzwa80UjPCDvBd + qdqJnPh5Z0OR32qgY/wnNUlDdzbCjzK3qZkxn29kw8h1PShQI5fnt/l1j9e9+4WpEhlYU08tChwFJIq1 + 4+xVa95i5OFPVc+cKtGdru8i628EddqrNjXDd5QBFnNhfUWdia4ftXfcTWewsKdnSUpPM2DpWqsN5n2C + 9vGMsqiPFXzA59f7KXLxJ/0D40eH7KWUgW5nl5KUpJJ0AVjXNOJbdshWcpfk8CnfqIq4XKfcpK5EyQt5 + 1R3yo6wBJAG+TVswpiG6eKW15Q6xTsRVvyZvrwQuXJZYSah5JWdvfk3F53pAATTWVODWQCYjiyOuum8B + YSZA2NpaPpruQwr5ljcHVo4Owsrhs0b+SaewHhFTf+UtCnssMGOaSbcU9AC6lZQYRd/Zbe16F1NyPjaF + GJdV+haKuWUWKIaSpkNyR0INXCyXa2rKJkF1ojhJTvd4ySnbK03GL5F4H3/sDdLxbLTHL86W2ygdY75q + /wCcwBWzZog9c7V1xdiK7LUqXcXSD9RJ2KaJJOkknXgXu7W5YXEnPNEHToCt6rBnNdYy0N3VhMhvncTv + LqwYssd+ZBhS0FfO0o6F8tzHwhPxNDtjUJ1pBYcWpezPWr9TGJeZ+OaXk3idP/Uj1IynxcyNIjIX6DUz + BGKYSCp61PaOkDTTrLrKti62tCuhQIPL0rWhQKVFJHAQdFWDMrEtlKEbf8pY8m7WGsysPXva2nHPksg7 + xQ4aBBAIOkH7T3S+2q0slydMbaSOYnfrEucb7uzYsjAbT5ddTJ0yc+t+U+t1xXCpZ0moHj0X1qPjUXxa + P6pP2TuXiT/oHxo8P2UspAtzPLn32YzLjz7iW20AlSydAAFY7zNfuhdt9pWWonAt3nd1mWHn3EtMtKcW + o6AlI0k1h3KO8XDYPXJwQ2erwrqy5f4Ys6QWoIdd8o7880lCUABKQkdAGjvj8WLIbLb7DbqVcIUARWIs + pbDcwp2DphPn3DWI8H3vDr5RNjkt8zyN9B1skphRep8TyzIX7n7/ACQkEk6AKxnmnEthdhWkpkSeAu/U + RVzu9yushUidKW8s9Y6oGngranfJq7DR3tWNKkxHkvR3lNOJOkKSdBFYPzeebLUO+/PRwJkiokuJLjNy + IzyHWnBpSpJ0g8vI01ecL2G9sKbmwG1E7wWkAKFY5wNLwtLBSS7Cd/Zu/wDpWuASdA36w9lPfLow3Jlq + ERlfghXh0jI+AhILt2d9yjklZvObtHJO0fx79HJO0fx79HJO0fx79HJO0fx79HJO0fx79HJO0fx79HJO + 0fx79KyRtPnN8UvJC28Kbw77lO5GoA0ouyvcqTkldh4vPZXUnKHFbIJQhp38Kql4IxVE0l20vaBzgaad + iyWSQ6w4gjh2SSO8AkHSKwrmZe7Gttl9Zlwxwtr4Uj7jWHsU2TEMYOwpI2YTpW0fDT9o3X2GE7N51Dae + lRA+NXjMrC1rHjfyhzqNVfM4L3MCmre0iI31+FdS50ya6XZUhx1Z4VLJP6YHj0X1qPjUXxaP6pP2TuXi + T/oHxo8P2UspAtzPLXHWmW1uuLCUIBKlHgAFZh4/evr64EFZRb21fzeOthPAt3xI6FNo2mIPCfWPhWHM + GWPDrITEYC3vrvr31E8hlwosyO4xJYQ60sEKSoaQazAy4esilXG2pLkBXCnna1cr5/yLGMA+WCmve/fz + zzTDS3XVpQhAJUpR0AAVj7Mt+5qdt1pdLcPgW6N4u6tmsV0vUkR4EVbquc8yR0k1YcmoTSEO3iSp1fO0 + 3vAVEwdheElIZtLGkDwlDSaNotQGgW9jR+AVOwbhaa2oPWljZKHCkaDWJcmwEOP2N8noYcqXEkw5DkeS + 0pp1B0KQoaCNXBuOblhmUAlZdhqP0jFWa926921qZBeC21jf6QroP7gxPZWb3Yp0JxAKlIJbJ5lgbxp1 + pTTrjat5SFFJ9IOjWyxszN2xTGDwBaYBeUCOryGXbbZLQpEiGy6D1kDnq65XYTnhS0RjGcPkjV5yYu8Y + FdtlIko6D81VXGz3S2OFubDdZV/qGvb7jNtspuVDfU06g7ykmsC5lwr4GoNw2DE4e479npN9ssLxq4MN + kcxWKn5l4PhIIE/bT0N1cc67cjxK3uO/jOxq6ZvYollYYLUZB6BpNT75eLioKmT3nvxK1oHj0X1qPjUX + xaP6pP2TuXiT/oHxo8P2UspAtzPLc1cc7Ytdit69CE+NOD+zWwBlu9eFN3G5oLcIb6Ec7tR40eKw2xHZ + S202NCUpGgADkbjbbra23EBaFAhSSNIINZkYKVh24CTGQTAkqJQeorqamHpfyK+WyT5OQg0hYWhKh9YA + 9v78JABJOgVmZj1dzfctFud0Q2zoeX5VQ1cG4Mn4nmhKAW4rZ+meqyWK22OEiJBYCEDhVzqPSTrY9wNG + xJb1PMNpRcGUktr646qqfYdjvOsvIKHG1FKknhBGrgvF8zDNxDqFFUVwgPtVAnRJ0OPLiuhxl1IUkj9w + Y3iCHiu8MgaEiQop9B1skmQbvcXehjkkyBb57CmZkRt9ChoKVjTWKcnWXA5JsbmwV5BdXG2T7ZJVHmR1 + sup4QoayFrbWlaFFKknSCDoINZb5jidtVpuzoEjgZf6/2cf/AGTn4FfCrspZuc0FSiA+vhJPP3qB49F9 + aj41F8Wj+qT9k7l4k/6B8aPD9lLKQLczyzH2KW8O2NxaFf4t/S2wn4qpxxbi1OLUVKUSok8JJ1ctsDqv + swT5jf8AgGF/1VUhCG0JQhISlIAAG8AByW/2WNerTLt8lI0Oo+aeqrmNXS3SLZPkwpCdi4yspP6W1bBa + FdVQPZVimpm2S2yE/wDUjoP78zTxpuXCNphOaJchP0ivJo1bFZpd7ukaBFTpW6rfPVTzk1YbJEsdsjwI + qQENjfPOpXOe8ZwYRDakX6G3vL3pQA7Fa2UGLBFlqskt0hp86WD0K/cGbLIaxlK6FtNr1sjfH7n6scmx + Fhq04jhrjzmBstHzHR4aTWMMFXLC8vYvAuRln6J8cB1kLW2tC0KKVJIII4QRWWuOkX6FufNUBPYT/VT9 + m3AVNuADSSkgVcctMYOTZbot+lKnVq4ek05lzi9sEm1rqThbEMUEvWqQkDn2FKQtBIUkpPQRo14Hj0X1 + qPjUXxaP6pP2TuXiT/oHxo8P2UspAtzPKyQkEneA3zWYmIzfsRyFoV/h2NLTOrYLNJvd2i29gfOdXoJ6 + E85q1WyLarfGgxk7FplASP8A9nk+dGHdpkxLyyj5rv0T34tTLCemZg+Dzlglr993q7RbNa5dwkqAQygn + R1jzCrxdJN2uUqdIUS48sq9H3auUOGfkFsXd30fTy95r7mx3m5W9i426XDfGlt9so4Omr5aZFmusuA+k + hbKyPSOY6sSU7DlMSWTocaWFpP3g6aslxYudogz0b4fZSoDl+c3HL0wmdbJHx26+qHJ7taYN3t0iFMa2 + bTiSPvCuYisV4amYbu70F8Ep4Wl9dGtabnKtNwjToyylxlYI/wD0aw7fod+s8adGPhp+enqr5x9nSAQQ + RpBq/wCCcP3xhQkRUIXoIDrYCVCsYYSm4YuRjPHZsr32XesNaB49F9aj41F8Wj+qT9k7l4k/6B8aPD9l + LKQLczyvH973FwzNeSoh14bS1+JdEkkk8J1cmLCEMTLy6nfWdqZ5Riqzs3nD9xhqG+polH4k74p1tbTi + 21jQpKikj7x+nJG46bbc4XknA57/AO+85MRl1+PZWV/Nb+kf1cP2py73mDARwvOpBPQOc1FjNxYzLDSQ + ENoCEgdAGjvWcmGA/GYvkZOlbPzJGtlVJcewdFSvgbWtCeX50ccB7G1rZI+O3X1Q5RmPhRGIbEtbSB8r + i6Vs/eOdNKSpKilQ0EHQR941socTG33ZdrdXoZmeB9zn2fzNsabthaQsI0vRTtzWtA8ei+tR8ai+LR/V + J+ydy8Sf9A+NHh+yllIFuZ5XnVdyubAtiDvNILjo+86qUlSgkcJOgVhG3ItmGrVFSOBhK1DoUvfPKcxb + QLViue0jwHTtqP8Az/TkzOLOI34vNIY/s/fUyU1DiSJLp0NstqWv0JGmr3c3brdps51RKnnVK1cl7SH7 + xMuK+CM1sU+lzvcyJHmRJEV9AW26goUD0GsX4YlYbvD0N1JLRJUwvrI1ctYSomD7aFcLoLhHp5fnVxtb + 9jb1skfHbr6oco3jWZuHtxcSPKbRoYl6XW//AGNaLIcjSWX2zoW2sKSR0g1hy7NXexwbglX7ZsFSehfO + Ps9PZD8CayRp2bC09oqUyWJL7R+otSew6sDx6L61HxqL4tH9Un7J3LxJ/wBA+NHh+yllIFuZ5XmJPM/F + 1zX5Ne1D0I1bMyX7tAa676B+dNoShCUp4EgAcpzttO9bbmkdLK/04Anqg4stTg+u7sD6F/vrNe8G3YXc + ZQdDstYbSdbKG3/I8L7csaFSXSrvmMMJwcT2xUd3Qh5vfZe6pq/4bu1gmLjTmFJ0H5qxvpV6D+nBeDZ2 + JLg2A2UQ0KBedpllthlplsAIQkJSB0Dl+dXG1v2NvWyR8duvqhynNyyC4YbExCPpYR2foQdfJW6F+zzL + ctXi72zR6F/Z4jSDV/QEXu5pHNJc+OrA8ei+tR8ai+LR/VJ+ydy8Sf8AQPjR4fspZSBbmeVOK2Da19VJ + PZV7fMm8XB4/XfWfz1cHt7Zia0p/7hPKsybWJ+D7gNjpcZAdQP0wX1RpkZ9B0KbdSofyNRHg/BjOhQO2 + NIV2jT++c67i4u6wIGkbBporPpOqkaVADnNYUiGHhu1Ruownvs632+ewWJkVt5s8yxpqVlPg54lYjutE + 8yV1EyswfGWlfyRbpHMtZNRokaIylmMyhptPAhA0Aa92mfILZMl+RaUvsFfrgxZ1mPdr9cOLuuz7lYTu + km64dtk6To255rZKI3hybOrja37G3rZI+O3X1Q5Tc4bU62zYjqdKXmVJqWwqPKfZUNBbcUkj0HWyam7R + ihTBWQl5k/Z/EnGC7e1O/wB2rA8ei+tR8ai+LR/VJ+ydy8Sf9A+NHh+yllIFuZ5VM0/I5RHMy4fyqQdM + h49K1fHVww+I+ILW7zCQjlUyOl+DJaUAdtaUkD01PjLizZUdW8pt1ST/ACP6cAT/AJbhO0uFZK0tFCvu + IP75zHlmVjC6HZ7INrCE+hOrAaL06K0OFbqB2mmEhthlPQhIA6NA5PmLKEXB11PlWi2D+L9OX3Eyx+o5 + NnVxtb9jb1skfHbr6ocqx7E+SYtu6NGgF4rT6Fa2XLxZxlZj0vhP2fxPxiu/tbvx1YHj0X1qPjUXxaP6 + pP2TuXiT/oHxo8P2UspAtzPKpnzosoc20uAdlShsZL46HFfHVjOliQy6OFCwrsNWiYmZaoMkK07awhen + 8Q08qxTgDEE3Flx+QwlKadc2YcO8n51W3Ja4OJCp09to9VA2VWzKnCkAoU6yuUseUPzaiQokFhLEVhDL + SeBCRoA/fBISNJ5qvMhUm6z3lb5W+s/nq4RZD+J7O11pSKHJ86J6GrBEhjhffB9z9OX3Eyx+o5NnVxtb + 9jb1skfHbr6ocqzgaDeMXD14rS9bBKtjiqznokp+z+J+MV39qd+OrA8ei+tR8ai+LR/VJ+ydy8Sf9A+N + Hh+yllIFuZ5UtAWhaT9YEdtX+P8AJr3cmepIWNbKO8pnYYTHWrS7DcKD9lbo4GbVPd50MLUT0aBT6tk+ + 6rpWo6uXzRcxjZR0Pg8ozouQevkSCOCMz+a/05fcTLH6jk2dXG1v2NvWyR8duvqhyrObjcj2NvWwG3tu + L7Kjpkp+z+J+MV39qd+OrA8ei+tR8ai+LR/VJ+ydy8Sf9A+NHh+yllIFuZ5XmPbzBxfc0eUUHff1sqsQ + ptGIksvL0MTBtSvsriZSW8NXlfOIbx7E0d86dXLMacZ2v7lHk61BCFKPAkEn+VYrum6uIblMC9KHH1bX + +Dm/Tl9xMsfqOTZ1cbW/Y29bJHx26+qHKs4HQvGKx1IrSdbK+MX8ZW5XkSXPs/ifjFd/anfjqwPHovrU + fGovi0f1SfsncvEn/QPjR4fspZSBbmeV52WnarjAuKBvPILa/SjWbWttaFpOhSSCD94rAGKG8RWFl1RB + lMANvg9I5/spi06ML3z2J7+w62Vg040t/J8wr0LPhec4FlLrw2po/erUy+4mWP1HJs6uNrfsbetkj47d + fVDlWYkoycYXY9R3Ye7rZKQVLvc2Z9Rlkp977P4n4xXf2p346sDx6L61HxqL4tH9Un7J3LxJ/wBA+NHh + +yllIFuZ5XmTZTdsKSwgaXIxDyP5a+CsVv4ZvDckaVML+a+30pqFNiz4jEuK8HGXUhSVD7J4yQE4UvXs + b39utlRx0g/hXyfN7EIn3lFtZXpah+H97h1MvuJlj9RybOrja37G3rZI+O3X1Q5S+sNMPOngQhSifQNN + XaWubc5slXC68pXadbJy2GJhp6YR86W/+SPs/ifjFd/anfjqwPHovrUfGovi0f1SfsncvEn/AED40eH7 + KWUgW5nlbiEuNrbWNKVpKSPuO9WL7G5Y8QToSgQkL2bZ6UK18AY/kYaf+TSCpyA6d9Pkz1k1BmxJ0VqX + FeQ6y4kKQoHSD9ksZICcKXr2N7+3Wyo46Qfwr5NjXErWHbI/KJBfWChhHSo0886+6486sqccUVLUeEk7 + 5Opl9xMsfqOTZ1cbW/Y29bJHx26+qHKcxLsLXhWev67w2lHpXrQorsyWxGaBK3VhAA++rPbm7Za4UFvR + sWGUI09JA4fs/ifjFd/anfjqwPHovrUfGovi0f1SfsnJbU5GdQkaVHeFbjXDfO1VuJcfIGtxLj5A1uJc + fIGtxLj5A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfI + GtxLj5A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfIGt + xLj5A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfIGtxL + j5A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfIGtxLj5 + A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfIGtxLj5A1 + uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJ + cfIGtxLj5A1uJcfIGtxLj5A1uJcfIGtxLj5A1uJcfIGoDa2YbTa06FDh5Zm7hUz7Yi8MI0PxPDHS13jB + 2O7nhh7YIJdhrOlxk/FNWDENpv8ABTLgvg9Zs+Gk9BH2RxkgJwpevY3v7dbKjjpB/CvktxuES2w3pct0 + NstDSpRrGmLZOJ7qp9QKIzelLDXQnVy+4mWP1HJs6uNrfsbetkj47dfVDlOct/8AlN0j2lleluMnZO/e + tWtlDh75deF3N1P0MPwfWH7QYn4xXf2p346sDx6L61HxqL4tH9Un/cR5lt9lxp1AUhaSlQPODWO8LO4b + vbrABMZ0lbC/u6O8We93Oyy0SoEhTSwf5H0isH5o229JaizymLN4B1F0CDvj94EgDfNF9gH5zqB/OhJi + aDpktj/yFJkxDwvo96kuNq4Fg+g8rxkgJwpevY3v7dbKjjpB/Cvkl3vVus0RyXNfS02kfzPorG2PJ2Jn + 9qQCzBQfmNdP3q1svuJlj9RybOrja37G3rZI+O3X1Q5RiK9x7HaJU94j6NB2A6yzwCrhNfnzZMt9Wyce + WVqP3nVgw350tiKwkqddWEpA6TWFcPsYessaA2AVJALq+us8PKCpKeEgUJEYeE8gfzozYx3g+2B+IUJE + Yj9sgn8VB1pX1x/I8t0gEDTvng76H2En5zqB9xNCVF5n2yfxCg80rgcSfuB5RifjFd/anfjqwPHovrUf + Govi0f1Sf9xcW4XhYltDkV1IDyQSw5zpVV0tky1zn4ctoodaUQQfiO8AkHSN4isJZo3eylpiYVS4g99F + WHE1lv0ZLsGUlXXR9cfuokAaTV0xdh20hQl3FoLA8AHSqrjnTaGfEYDr/wB6/mipuc2I3SRGZYYR71S8 + xMXSiSbotH4N6nsT4hf/AGt1kK9K6Xc7i54cx4+lZozJZ4ZLvvGhPmjglO++abvt4a8C4Pp9CzTONcVM + kFN3kegqqJm1i9gALkNvAddFQM7nt5M61g9K0Kq05n4TuJCTJMdfQ9vCmJEeQ2HGHkOJUAQUkEcgcdaa + SVOOJQnpUdArdCB/Fs++K3QgfxbPvit0IH8Wz74rdCB/Fs++K3QgfxbPvisWTYS8L3sJlskmG6AkLHV1 + srXG2sYQ1OLCE7Be+TW6EH+LZ98VuhA/i2ffFboQP4tn3xW6ED+LZ98VuhA/i2ffFboQP4tn3xW6ED+L + Z98VuhA/i2ffFboQP4tn3xW6ED+LZ98U0606nZNuJWnpSQRrypsOG0t6VIQ02kaSVECsSZvWyEFs2lHy + p/yh8AVfMQ3a+yjIuEpTiuYfVTr4BmQ0YOsqFymUHaN8FYrdCB/Fs++K3QgfxbPvit0IH8Wz74rdCB/F + s++K3QgfxbPvit0IH8Wz74rdCB/Fs++K3Qt+jT8tY9GzFAggEcB77nVxtb9jb1skfHbr6ocnUpKEqUog + ADSSeasy8ZG+3L5HFX/gYqiB0OL62tlTgoxGRfJ7Wh9zxZB5k9bkhIAJNXTFuH7RpMy4NBQGkIBBJq45 + 1WhkaIEF189K/m1MznxK6SIzTDKKl5hYulKKlXRxH3I+bTuJb+9+0ukhXpXS7jPX4Ut4+lZr5ZL/AIh3 + 3jQuM9PBLe9803e7u34E98f+ZprGOJ2dGwu8n36hZqYwi/8AzUufjFW/O24I8et6HPvQas+aeFLgQh15 + UZfQ7UaRHlNpcYeQ6lQ0gpII5PivMWzWBC2kLEmZ5JB/uq6Y5xJcbkmeqctpaDpbS2dCUVlviyfiO0yD + NSjbWFpQV9bvFyvNrtbW2TpjTI/1Kq7ZzWeN823xHJKusr5oqfm7imSVhgtR0HqipGMcTydO23eR6Aqn + LncXCSuY8SelZoTZg3xJd9403eLq0dk3PfSR0LNMYzxSwRsLxI9BVUHNzFkbYhxxp4Drpq052QlqCblb + lNjrt/OqzYmsV5bCoM9tatG+gnQockxPxiu/tTvx1YHj0X1qPjUXxaP6pPeiQkEk6AOE03cbbp0qmM++ + K3QgfxbPvit0IH8Wz74rdCB/Fs++K3QgfxbPvit0IH8Wz74rdCB/Fs++K3QgfxbPvit0IH8Wz74rdCB/ + Fs++K3QgfxbPvit0IH8Wz74pp9h5JLTqFgcJSQf9r8b4GhYmhkp0NzWgdpe6fuNXK2TbXMeiTGVNutqI + IPxHeYNwm2+QiREfWy6k7ykmsLZxn5kW+tf8hFQbhBuEdL8SSh5tXAUHT+5pEmPFaU6+8hptI0lSjoAr + EWb9qglbNsaMt3r8CKveYGJ7ype3TVNtnhba+aKUtayVKUVHpJ099tt+vFrWFwpzrR+5VWDOia0UNXiM + HkeVbqy4is18ZQ7AmIcGjSpHApPpHfs2/m4TWUkg7aitvf8ALL941t7/AJZfvGtvf8sv3jW3v+WX7xrb + 3/LL940X3iNBdWQfvOslSknSkkHpFbe/5ZfvGtvf8sv3jW3v+WX7xrb3/LL941t7/ll+8a29/wAsv3jW + 3v8All+8a29/yy/eNbe/5ZfvGvlD/lV+8aycWThd0qUSflKv0uLS2ha1HQlIJPoFP5uYRZ2SQt51Q6EV + LztioJEW1LX0KWqrjm9imWhSGC1GT0oFT7xdLisrmTXXlHrK7yHngNAcWAOYE1t7/ll+8a29/wAsv3jW + 3v8All+8a29/yy/eNbe/5ZfvGtvf8sv3jW3v+WX7xr5Q/wCVX7xqzrItMH1CN/8Al33Orja37G3rZI+O + 3X1Q5MTorMzMLZ7bZbU990h5P9idbLbADl1fbutxaKYbagWkeVIoJCUhKRoAGgAcideZYbU484ltCRpU + pR0AViLNuy20rZt6Pljw9wVe8w8T3gqS5LLLR/6bXzRS1rWdK1FR6SdPfbTiK82d0OQZzrX3adINYVzh + jySiLe2gyvy6fApl5l9pDrLiXELGlKknSCOREgDSTV+x9hyxAh6Sl57yLe+axLmnfLvs2Yh+Rxz1PDNK + UpaipSipR3ySdJP6MjXR8kvqOhbOtesQ2mxxy9PlJbHMjhWr0CsR5wXKWXGLQ18lZ8qd9ZqZOmTXluyp + Djq1HSSok96ZfeYcDjLq21g6QUnQawvm3drcUMXQGXH6/wBcVZr5ar3CRKgyEuIPCB4ST0EcixPxiu/t + Tvx1YHj0X1qPjUXxaP6pPer4NFluR5/kzn9tbe/5ZfvGtvf8sv3jW3v+WX7xrb3/ACy/eNbe/wCWX7xr + b3/LL941t7/ll+8a29/yy/eNbe/5ZfvGtvf8sv3jW3v+WX7xrb3/ACy/eNZKLUbXcypRP0w/2wxXg+1Y + mhKRISESEj6J8cINYiwzdcPTFRpzBT1HPqrHerLiG72SQHoEtbR50/VNYXzfgTSiPeWxGd8qPANR5MeS + yl2O8l1CuBSDpB/ceLsy7VYtnHikSpnVB+air9iu9354rmylFHM0k6EDWbZedVsW21LJ5kgmouEcSStG + 1WmQR0lBFM5XYyeAIt4HpWKGU2MjwRGv6gpzKrGbY0mAD6FipOCcUxvDtL5/CnTUiDNjKKX4zrZHMpJG + tCnzID6H4khbLiTpCkHRWEc3/wBnDvw6EiSKYfYksoeYdQ42saUqSdII75m1xSd9ajk+TvFZz2lX6ZoG + 50w//Ur4U7+0X+I8ltH+VwPUI+Hfc6uNrfsbetkj47dfVDksmVHisrefeQ22gaVKUdAFY7zQenbbbrMs + txuBx/ncokk6Tvk6nDvCsA5ZPTls3K8NlEbhbZPC5TbbbTaG20BKEgBKQNAAHIsWZiWfDyVtJUJMzmaQ + eD8VYgxlfr+4TLlKDXMyjeQNZph55WxaaUsnmSCfhUTBmJ5e+1aX9HSU6Kbyrxm4kEQEj0rFHKXGn8Ej + 36lZb4vig7O2KV+Ag1Lsd4heNW99odKkGjpGtg7H91w0+hvZl6ET89k/FNWi8W+825mbCfC2lj+YPQe/ + LdbbBK3EpHSSBVzxxha2J0v3NpRHChs7I1eM6YrezRa4JcPM67V8x/ia9FQfnKbbP/Sb+aKUpSiSokk8 + JOpkc7sXL0j1WopSUIKlKCUgb5O8BWMs148ArhWUpef4FP8A1EVcLnPuclcibJW86rhKjqAE1tTvk1dh + otrHChQ7xY7/AHSxTESoEhTagd9P1VekVgzGEDFEELbIblIADzPOPvHIcT8Yrv7U78dWB49F9aj41F8W + j+qT3q+IIslyJB0mM5/bW1O9RXYaII4R3oJUeAE1koCLVcwoEfTj/bG72i3XmEuJPjpdbUP5pP3Gsa5a + XKwKXJiBUmF1hvqR3uw4svlhdC4MtYRztk6UGsMZt2m5hDF1HyR/r/UUaaeZfbS4y4lxChpCknSDy+VL + iw47kiS8hppsaVLUdAFY3zRl3FbsGzrLMTgL3AtyiSokk6Sd8k6uHcBYhvxSpmMWmOd5zeFWTKCxQkoX + cHFS3eccCKhWSzQGw3Et7LaR/pBNAAasmFCfSUvRmXRzlSAau2WGE7kHCmJ8nX12qxBk/e4AW9bliY11 + eBdSI0iK6pp9lba08KVgg6uE8c3fDT6drcLsU+GwrgrD2I7ViGCiVCfB67R8NB73j2wzL9YFQoexDhWk + /Or9TmKelmv1OYp6Wa/U5inpZr9TmKelmv1OYp6WauGVOI4EGXMdLW1sNqWv0J1rDZJd9uLcCLo21YJG + mv1OYp6Wa/U5inpZr9TmKelmv1OYp6Wa/U5inpZr9TmKelmv1OYp6Wa/U5inpZr9TmKelmv1N4p6Way/ + w9Ow9ZFwphSXC8V736ZLanY77adGyU2pIpeT2JyonZM1+pzFPSzX6nMU9LNfqcxT0s1+pzFPSzX6nMU9 + LNYhw/MsE8wpZSXAkK+brWnLC/3W2xZ7Cmg0+jZJ0mv1OYp6Wa/U5inpZr9TmKelmv1OYp6Wa/U5inpZ + r9TmKelmv1OYp6Wa/U5ijpZqAyuPBisq8JDSUk+gaO+51cbW/Y29bJHx26+qHIyQBpNYkzIsFiQtCHRK + l8zbdYmxre8SOky3ylnmZRvJGrb7bOuUlEaHHW86s6AEisF5Ww7WGZt2Afl8Ib4UN0AANA5CtSEJKlKA + AGkk7wArHWaayt622NzQnwFyfiEUta3FqWtZUpR0kk6STq2XDt3vkgM2+Ktw86uBI9JrD+Ttujht27Pl + 9znaTvIqBYrRbmw3EgMtpHQgarrTTqdi62hY6FJBFXvL3Ct2DhXCDTqv+o1vVivKy8WVDkqHplxB76aI + IJBGgjVwXjCbhm5JcQtRiuEB9qoU2LPhMS4rqXGnUhSVDveNMz7lh+9SLbFhtK2sJJWup2aWLpRIRMDA + 6GxUu+XiasqkXB9wnpWa4d86+SLgF1uKDzs/pnz4lviuypTyWmWxpUomsb5lTr4pyHAUpiB2Kc1LBgfE + N9UgxoakMnheX81NWbJu0xwhdykrkOc6U7yKhYQwvAA+TWpkekaaTbrakHRBY9G1pp20WhxOhVvYVp6U + Cp2AcJTQouWxsE8BTvGr5kqyUFdpmKC/Ju1esOXixvlm4RFtHmVwpPoOtZbzOstwYnQ3ShxtX8lDoNYa + xDDv9ojTmCODQ4jqL5BifjFd/anfjqwPHovrUfGovi0f1Se9EBQII0jnFLttsV/8GOBwAbWmp2E8OTkE + P2pgg9CdBrHWVUKLAk3Kz7JG0jZrYOtFiSpjyWYzC3XFcCEDSasGTtylBt66viMjySd9dW3LHCEJsbOE + X1jncNM2Cxx0BDNsjpH4AaajsMJ2LLKGweZKQP8AbJSUrSUqSCkjQQeA1jPKiHcg5MsoDEnhLXAhdXK1 + XC1Slxp0ZbLqSQQod7w/jG+2BwGHLVtfO0rfTWGM2rLcg2zcR8jkdqFU06082lxpaVoUNIUk6QeWXS5w + rVCemTXg0y2NJJ+ArGuOJ+JpZAJahIP0TP8A7VqwLfMuMpuLEYW66s6AlIrBuVcG2BqXeEJkSuENfURS + EIQhKEJCUgaAANAHe8RYTseIWCiZGG2aDoeTvLBrGGAbthl0rUgvQyfmPAf3atjvtxsc5uZBeKFpO+OZ + Y6DWD8ZW7FEALaIbktgbcxyDGSAnCl69je/t1sqOOkH8K+S5wcbXfVJ1sv8AiZY/Ucmzq42t+xt62SPj + t19UOQzb1abeFLmTmWgkaSCrfq9Zw2KIhSLc0uU5zK8FFX7MPEl62SFyiwz5Jr5tEkkk75Oo0y68sNtN + qWs8CUjSTWGMprvcih+5kw4/V+uqrLh2z2OOlmBFSjpXwrV6TyIkAEk6AKzIzCcnvO2m1vFMVBIedHC6 + dbA2Wsq+FE24BTEEe87VutkC2RkRoUdDLSRvBI7yQDWYeWrNwZeulnYCJKBpcaHA7S0KQopUClSToIPC + Dq5WY0Vabgm1zHT8jkr0I6G1muHvWa3HW4ehHeslHQnE0hHTFV+i63WDaYLs2a8G2Wx/MnoFYzxtPxNL + IKi3DQTtTI+Kv02mzXK8S0RYEdTriujgH3k1hLKq2WsNyboBLldX6iKQhDaEoQgJSBoAA0Aa9xtsC5xH + Is2Mh1lSSCFCsf5eP4dcM2GC7b1n+bWtllik2O+tMPOaIkshDnQlXMeQYn4xXf2p346sDx6L61HxqL4t + H9UnvuP70xZ8MT3FqAdfQWmU85UqidJJ1MKYMuuJZISwgojg/SPq4BWHMJ2fDscNw2AXPrvK31q/24vm + HrPfohYnxUr6q+BQrFuVV4sxXIghUuIPfRSkqSopUCCOEHh73h/Gd/sCx8klqLXO0s6UkVhnNmyXQNMX + D/BP9qCabdaebDjTiVpPAoHSOUypLESM7IfcS200kqWo8AArHmNH8S3FQaUUwGToZR0/6zq2m0zrxPZh + QmS484ewdJrB2DLdhmGlKAHJa0/TP/8Aod+kxmJTDjEhpLjTidCkKGkEVmJl89YHjOgoK7e4f5tHVs15 + nWa4MzYbpQ42f5KHQawriaBiO1tzI6gHBvPNc6F9/wAZICcKXr2N7+3Wyo46Qfwr5LnBxtd9UnWy+4mW + P1HJs6uNrfsbetkmtCJt1KnEo+jFfKovl2/eFfKovl2/eFfKovl2/eFfKovl2/eFfKovl2/eFfKovl2/ + eFfKovl2/eFfKovl2/eFfK4iBoEhrT+IUZ0EcMtkelYpV4tSPCnsD/zFPYsw1G33bqx7wNPZl4NZ4bmF + noQKk5z4cZJDER96p2dlxXskxLc0hPMV1ccxMWXAKS5cVIT0I+bT8mRIWVvvLcUedRJOrbcP3m6OJRCg + POk8BCToqx5M3B8Ieu0kMI8mjfXVjwjYbGgCHCQF+UUNkrkmbGMDbogtEJzRIkDS8eo3rZa4L3euHyyW + j/Axj/UX0UhtDaEoQkJSkAJSN4ADvmb+EERH03yG1obeVokgcy+tqgkHSN4istMUJv1gbbfXplRNDbnS + ocx71iPLG1367P3F+W6hboGlKaVknZvOEgU/khD2BLF3c09Ck1espsTW1pTzKUS0DyfhU4240tTbiClS + ToKVDQQdbJtwIxh6Yboq4XCJbYb8uW6G2WkkqUaxrjOZiaeTpKIbZO0tf+z+nCGCLniaQChJaiIP0j5+ + CasOHbXYISY0FgJ6y/rLPST3qXFjS4z0V9sONupKVg8BBrGmGXsN3x+GQSyfnsK6UHVBIII3iN8GsvsQ + G9YaiOrWC+ykMudOlPf8T8Yrv7U78dWB49F9aj41F8Wj+qT3y4XGFbIbsuY8GmWxpUo1jfF7+J7oXd9E + VreYb1MDYCmYlkh50FqA2fnudf7k1At8O2xGokRkNMtjQlI/27xVlvZL+FvNJESX10DeVWIsFX7DzpEu + MVM8zyN9B75h/Gt/sC0/JJai15JZ0prDea1juwbYnaIUk+4TTbiHEBbawpJ4FA6RyfNnGRlPmxw3fomv + GVDnX1dVCFuLQhCSpSiAAOEk1l7g5vDtrS4+hJnPgKdPVHU5BJjR5cd6NIaS404kpUk8BBrHWFHsM3lx + jQTFdJWwvpGrg3FEjDd4alIJLKiEvo6yahzI02IxKjOBbTyApKh9/fsZICcKXr2N7+3Wyo46Qfwr5LnB + xtd9UnWy+4mWP1HJs6uNrfsbeszJkMEll1aCeqSK3SuH8Y975rdK4fxj3vmt0rh/GPe+a3SuH8Y975rd + K4fxj3vmt0rh/GPe+a3SuH8Y975rdK4fxj3vmjcJ54Zb3vmlSpKuF9w+lRorWeFRPpOslClbyUk+gVHs + 11kqCWID6yehBqBlji+YU6YBZT1nDoq25JPlIXcbmEfc0KtWWmFLZsV/JNucA4Xd+mI7EdsNstJbQOBK + QAPy5LOmMwYcmW8dDbDalrP3Jq+XV+73aZPfVpW84VatugP3GfGhsJ2TrzgQkemrDZ41ltMWAwkANIGy + PWVzk99vVsYu1pmwXk6Q80QKmxXYcuRGdGhxlxSFD706uWl93IxNGC16GJP0Tnfs28Hx3oJvkNnYvM+M + ADw0a2VklqNi6O464lCNpc0lRrMXGzt/nqiRXCLewohA8oesf04DwBKxFIRKlJU1b0HfVzufcmoUKLAj + NRYrSWmWxoShI0Dvmbdh3Rw6Jrbel6ESr/w1sl7uWLxLty1gIfb2Y/Ejv+J+MV39qd+OrA8ei+tR8ai+ + LR/VJ73crlCtcN2XMeDbLY0qUaxxjiXieYUo0tQWz9E1/wC1amAsv5WJH0yZIU1b2z85fO59wqHDjQYz + UaM0ltlsAIQBoA/29fZZfaW082lxCxoUlQ0gisU5QwJu2SbMsR3vJK8A1eLBd7K+WZ8RbR6SN498w5jq + /wCH1pEeQXGOdle+KwvmbYb2EMvq+SS+ovgPoNBQUAQdIPARyTH2Jhh6xPOIIEl7ShgU4tbji1rUVKUS + STwknVykwp8unKvEprSxGOhn73ORY3wwxiKxPxtA+UNguMHoUKfZdYecZdQUrQopUDzEauT+LSzINilu + fRO78Y9Cur37GSAnCl69je/t1sqOOkH8K+S5wcbXfVJ1svuJlj9RybOrja37G3yey4unWaMGY8SIvQsq + 2bjQWqmM4sSs/wDQiEfc2BUfPC5I3nbUwuoWdtvPjVrcR96DULNvCUpWhbzjH401AxRh+4eK3Nhf/lSH + ELSChYUOkHTyTNaauJg+SEHQXlob1smsPbdMk3l5v5rI2tn0nv8Amva0wMXylNp0NyEJcHp59Vp1bTqH + EHQpCgoH7wdNYfuKLlZLfMCv2rCNmrpUBoPfblDbnW2bFc8F5haO2pLW0yHmuotSew6oJHAdH6cA4Efx + FKEmSkot7S/nq8oeqmo0ZiIw0ww0ltptIShIGgADvs6I1MhSYzg0odbUhXoNT4rkSbJjuDQppxSSPQdX + CNx3MxLapfMh9On0K3u/4n4xXf2p346sDx6L61HxqL4tH9UnvV0ukG0w3psx8NstjSSfgKxtjebieZzt + Qmz9Ez/7VqYAy+fv76Zk0Kbt6O12osViJHajx2kttNpCUJA0AAf7gXC3QLjHVHmRUPNq4QoVifJoELkW + N7/jrNXG03G1vlmbFcZWOZQ72CQdIrC+ZV9sRS0tfyqL5Nzm9BrDONrDiJnRGf2D/wBZle8vkRIAJJAF + Zk4kN9xE+G16Y0UlpoejhOrBhvTpkeKynS484lCR96qsVoYs1nhW9lIAZbAUelXOeR5v4aFuvKLkwjQx + M8P7nNWNIdiyGn2V7FxtQUk9BFYSxA1iCwxJqVjZlGxeT0OJ77jJAThS9exvf262VHHSD+FfJc4ONrvq + k62X3Eyx+o5NnVxtb9jb5YlaknSkkVAxTiC3aBFuTyEjm2RIq05z36LoTNjsyUe4as+bGF7glLb7iojh + 8pUeVFktpdYeQ6lQ0gpOnkOcbCzhNLnUkI1WWlvOttIGlS1BIH3k6KwrZm7HYYMFIAUlsFz71nv+eETS + uzy0jeCVt62Uk8SMItMfw7i099UNINYoYEfENzaHNIXr4IwfJxNcwggoiNEF9z/0KgwosCIzFitBtppI + CEjv+ZEMxMY3bocd2wehWq0vYONr6qgew1ZJpmWa3yPKx0LJ9I79ifjFd/anfjqwPHovrUfGovi0f1Se + 83e7QLPCdmzHg202O09ArGeNZ+J5hKiW4bZ+hZ1Mvsu3r24i4XFBRASd5PO7UeOzGZbZZbShtCdCUjeA + A/3DutmtN3jlidDbdRzaRv1ibJt5oKfsb22J8gup1unW94sy462XB9VQ0d7YfejupdZdU2tJ0hSToIrC + Gb78cNw74C63wCRzj8VQJ0OfGblRX0PNLAKVJOkcgzBvgsmGZbqVgPPDamvSdbJ6wiXd3rm6glEQfM6C + tXJMb2Ju94ZnRwgF5Cdsa/EmlJKVFJ4QdB1cnb+qHeXLU4vQzM8H1g77jJAThS9exvf262VHHSD+FfJc + 4ONrvqk62X3Eyx+o5NnVxtb9jb1sp7FaLxKuKbhDQ+EIBRsq/V9hDzOzX6vsIeZ2a/V9hDzOzX6vsIeZ + 2a/V9hDzOzX6vsIeZ2a/V9hDzOzX6vsIeZ2a/V9hDzOzX6vsIeZ2aVl1g9I/ylmlZc4MUP8AKkCncq8H + qSSYRR9wVT2UGEF8AkD0Lp/Jewq07TNkIp/I5fzixeB6FIqXkzihknaVx3R+OpuA8Vw1KDlreIHOkbIU + 9FksKKXmVoI4QoEa9rxBebS6HIM51ojmCqw/nQsFDN6igjyzdWu92m7sJegTG3hzgHfHf8SWVF5sk23r + 0AvIOw+5XMTU+FJgTH4khsodaWUrSekamVWD3Z9xReJTWiLGOlr/AOxzkGdLIOG4S+cStbJF8bn3Znoe + C+/Y7GjFt59oVrYfsUy/XRiBFTpUs/OVzITzk1YbHBsNtZgxEAJQPnHnUrnJ5BnKzsMVoX14qNbL2WH8 + I2sn6jYT2d+xPxiu/tTvx1YHj0X1qPjUXxaP6pPeLzeYFmgOzZroQ2gfzUegVjDGNwxNNK3CURUE7Szz + AamXmXK7stu53RsohJOltvnepplphtDTSAhCBoSkDQAB/uNd7FaLwxtM+G28OkjfrE2TL7RW9ZH9mnyC + 6uFsn218sTIy2XBzKHe8N4vvOHJAchvktE/PZVvoVWE8bWnE7A2hYakJHz2FcI7/AJzXoSLxGtjSzsIq + NK/xr1strQLVhWGCgpdkfSuckIBGg1j60G0YpuMcJAQte2oA6q9WDLdhTI8pokLacSoEfdVouLNztUKc + 1o0PspWfuJ5u+YyQE4UvXsb39utlRx0g/hXyXODja76pOtl9xMsfqOTZ1cbW/Y29bJHx26+qHI5drtcx + C0vwmnNlw6UirnlXhKcNLcZUVXS0avOS93jJLlulIkp6qvmmrlZbpa3NhNiOsnmKgdB1rddLhbJCJEKS + tl1J0gpOisJZxIdW1FvqAg8AkIph9iQyh5l1LjahpSpJ0g9+xnl9bMTAPoUI81IADoG8v01PyqxZEcUE + RkvJ5lIVTGV+L3z4kEfiUBWH8mWmltvXmSHOlhuosWPEYbYYaS202kBCUjQAByDN5AOFD9zyDrZIukTb + qj/60Hv2YPHG9evOqy0486202gqWtQSkDnJrAOEGcN2pJcSDNfALy/gnkOdjYF4t6+lgjWykWFYOjlX1 + XnB37E/GK7+1O/HVgePRfWo+NRfFo/qk698vlvsUByZNdCUJHzU86j0CsW4uuOJpxefUUMJJDLI4EjUy + 6y5VcVNXS7NkRQQWmTwu02hDaEoQgJSBoAA0AD/cm6WW0XdhTM+Eh4HpHBWJcmXE7Y/Y3tkPIOVcLZPt + r6mJkZbLg5lDvUObKgyG5EV5TTqDpStJ0GsB5ksXwNwLmsNTuBKuBLvfX3kMMuvLOhLaSo+hI01friu5 + 3ifMUrZba+sp/DzatkgG43aBD0Eh59CD6CaZbS0y00ngQgJHoA0clzutSdnbLm23wgtOHWyYu/ymxyrc + 4rxV3Sn8K++YyQE4UvXsb39utlRx0g/hXyXODja76pOtl9xMsfqOTZ1cbW/Y29bJHx26+qHJpUGDNZW1 + LjIeSQRoUAaxJk7bZaVybO78mc8krwKvWH7tZJJYnxVtHmJG8fQdbCuOLzht8Fl0uRifnsKrDWLLTiOH + tsJwBwAbYyfDR+4c2uKLvrk62SJ0Xe6+zDv2YvHS9+0HVwzxgtftCKHAOQ53p0SrR6tWtk8odyA9pX37 + E/GK7+1O/HVgePRfWo+NRfFo/qk61/v9usNvcmTXAlIHzU86z0CsVYruOJJ65ElZDQJDTXMhOpl1luZi + mbtd2SGOFlg/X+80lKUJCUgAAaAB/uZdLLabuwpmfCQ8COcb4rFGTj7OzkWR3bEeQXw1MhS4L6mJTC2n + E8KVDQe8oWttaVoUUqSdII3iDWXOZCZwatN4dAf4GX+v3zMC5bm4TujiFDZqRtY9K9bKSB8qxW28UAoj + tqXybM63fLcIzelgh73dbKW5iFippk8EtBa75jJAThS9exvf262VHHSD+FfJc4ONrvqk62X3Eyx+o5Nn + Vxtb9jb1skfHbr6ocouVst10irjToqHm1DnFY3yvmWcuTbWFyIfCU/Xb1rVdp9omNS4T6mnUHhHP9xrA + 2PIWJo+1ObBmchPz2ut96f3Bm1xRd9cnWyR/zm6ezDv2YvHS9+0HVwzxgtftCKHgjkOeaAl+zfgXrZPc + Uv8AlL79ifjFd/anfjqwPHovrUfGovi0f1SdXEWIrdh63rmTXPVt861dArE+J7jiO4LlSl6EDeaaHgoT + +kDTWXWW5dLV2vDPzOFhhXxVSUhIAA0AbwA/3PveG7LfWFNz4aFnmWN5YrFuVV2tG2SbeDLij30UpKkK + KVAgjeIO8R3hKlIUFJUQoHSCOEGssswhdW27Tc3dExtIDTnlUjvedc0N2m2xArfdeKyNbJGGQ3dpnW2L + Y5Nd4iJtpuEZQ0hxhaaeRsHnEdVZHYdWyTVwbtBkoOhTbyTTTiHG0OIOySpIIPSD3vGSAnCl69je/t1s + qOOkH8K+S5wcbXfVJ1svuJlj9RybOrja37G3rZI+O3X1Q5SQCCCNINZi5ZIWHrtZWtC+F6Mn4opQKVEK + Ggg6CDzHVhzJMGS1JjOqbdbVpSoHQRWAcbMYoghp0hE9kAOI6w6w5fm1xRd9cnWyR/zm6ezDv2YvHS9+ + 0HVwzxgtftCKHgjkOev7ezfgXrZPcUv+Uvv2J+MV39qd+OrA8ei+tR8ai+LR/VJ1MSYkt2HbcuZMX6ts + eE4egViTEtxxFcFy5i/VtDwUJ6B+kAkgAaSd4AVl1luE7Tdrwz97DCviqgABoH+6WLcurLiBtbzKExZv + M4gbyvxCsQYZu2H5ZYnMEdRwb6F+g94jSHor7T7KyhxtQUlQ4QRWBcWsYms6FkgS2dCH0/f1u9Z0S0u3 + +Iwg7zMbWydjFnCZc8q+pXJlJ0pUOkViSL8jv10j6NGwkL1QdB01gud8swrZ3tOkiKhBP+od7xkgJwpe + vY3v7dbKjjpB/CvkucHG131SdbL7iZY/Ucmzq42t+xt62SPjt19UOV5pYASNtvlrZ9paH941rTdZlpns + TYbpQ60rSD0joNYXxJExHZ2JrBAVwPI50L5a7MhxwTIkNtgdZQHxrM/FFhmYfdgxp7bsjbEnYI1skf8A + Obp7MO/Zi8dL37QdXDPGC1+0IoeCOQ56/t7N+Betk9xS/wCUvv2J+MV39qd+OrA8ei+tR8ai+LR/VJ/T + ifE9uw5b1SpS/nneaaHhOGsRYjuWIbguZMc9WgeChPQNSLIciyWJDejZtLStOkaRpSdIrCWI4uI7MxMa + IDgAQ8jqrH+6l0tcC7Q3Ik2Oh1pY4CPzBrHOW8/Dq1y4oU/AJ8Lnb7xgnEjuHb7HlbI7QshD6elBph5p + 9lp5pYU24kKSRzg95zMkh/Gd1IOlKFISPdGtl4yGsG2YdZrZcnzGYLGMruOu6F62UMoOYQQ3pJW0+4O9 + 4yQE4UvXsb39utlRx0g/hXyXODja76pOtl9xMsfqOTZ1cbW/Y29bJHx26+qHK1oQ4hSFpCkkEKB4CDWY + 2EF4eu6nWUf4KUSpo9U86dbL/FjmHL0hS1kRHyEPj4KpC0OIQtCgpKgCCOcHk5IA0mp1+ssBvZyrkw36 + VVPzYwnDJDbzkk//AFip+dsn5yYFtSnoWs1ccysWzwUquBaT0NAJqVcp8xWyky3XT0rUTr5I/wCc3T2Y + d+zF46Xv2g6uGeMFr9oRQ8Echz1/b2b8C9bJ7il/yl9+xPxiu/tTvx1YHj0X1qPjUXxaP6pP6MU4qt2G + 4CpElYLhBDLQ8JZq/wB/uN/uDkya6VE+AjmQnoGtl7itWHb02XVn5G+Qh4fBVNuIcQhxtQUlQBSRwEHg + P+6jjbbra23EJWhQ0KSRpBBrMbLdy1rdulqbKoZ33Wxwtd4yfxKJ1rdtL69L0Pfb+9s95xQ/t+Ibq50y + XB2HRrYXaSxhy0taNBTHRyfN9kNYydPXjtr1skHiq3XZoneQ8g97xkgJwpevY3v7dbKjjpB/CvkucHG1 + 31SdbL7iZY/Ucmzq42t+xt62SPjt19UOWYww83f7BLhKA23Rs2j0LFPsuMPOMuJ2K21FCh0EHQdbKTEg + udkVbn3CX4QAH3t8kmXO3wW1OS5bTKU9dVXPNjCkFRSy45KWB9Qb1XPOi7Pb1vhtx/vV881cMaYmuCll + +6PaFcKUnYiluOOHStalHpJJ73kj/nN09mHfsxeOl79oOrhnjBa/aEUPBHIc9f29m/AvWye4pf8AKX37 + E/GK7+1O/HVgePRfWo+NRfFo/qk1izF1vwzBLz6gt9YIZZ51Gr7fLhfZ7s2a6VLV4I5kDoHeMo8ZCVG3 + DmukutAlg9ZP+6q0IcQpC0hSVAgg8BBrMrAq7DMM+GgmA+v+mvXwZfFWPEUGZ9QL2Dn4FUhxDraHEK2S + VJBB6QddZ2KFq6Ek1dVbO6T1daS6e1R1rcna7dCb4AllHw5PnQ0BieOvpho1sj3wJF3a6UIPe8ZICcKX + r2N7+3Wyo46Qfwr5LnBxtd9UnWy+4mWP1HJs6uNrfsbetkj47dfVDlubeHxbMRGY0n6GanZ+hetgK+Ks + uJYT5P0Tiw050aF0CCARoI4RyCVLjRGlOyH0NISN8qIAq9Zs4btmzRFUZjw6ngVec2sST9miMURGuYI8 + KplwnTnVOypLjq1cJUonWAJ3hVvw5fLl4nbnnR0hNWrJrEEnQua81Fb941i/Le04cwyuYl516UFgBZ1s + kf8AObp7MO/Zi8dL37QdXDPGC1+0IoeCOQ56/t7N+Betk9xS/wCUvv2J+MV39qd+OrA8ei+uR8axPjCD + hm0MLdUFyVMp2lirzeZ96nuzZrpW4s/ySOgfpawrenbE9ekxj8kbUATzkdYfdrW+fJt02PMjrKHWVhST + WFsRxcRWZiawQFEaHkc6V9H+6twgRLlBfhym9m06kpIrFeHJWHLw/BfB2IOyaX1kawrLa+C74UjbNeyf + j/Qr15pKYcpQ5mln8qlnZS5B6XVfHVbSFOIT0qAqOf8ACRh0Mo+HJ87EAXuB7PrZIuEX6cjpY73jJATh + S9exvf262VHHSD+FfJc4ONrvqk62X3Eyx+o5NnVxtb9jb1skfHbr6octzdtKJmFvlCfDiLC9fBl2F1wx + bJhOlZaCVj/Une79d7/Z7Myp2fMbaGjSE6fnK9Aq/Zzq+e1ZoY9c7V2xBeLw8XZ81149BO9rAE7wq0YJ + xLd1oEW3ObFXAtY2KatGSizsF3S4gdZtqrTl/hW1bBTUBLjqeBbnzjSGm2k7FttKR0AaP0ZtcUXfXJ1s + kf8AObp7MO/Zi8dL37QdXDPGC1+0IoeCOQ56/t7N+Betk9xS/wCUvv2J+MV39qd+Oq2tTa0LSdCkkEH7 + xVxuc+5yTJmvqedIA2R6B+nL7AL9/kJmzElFvbV/N09Ar5BC+QGFtCdo2vYbWBoATWNsLP4avTsYgmO4 + SthfSnWy5xccPXlCH1n5FJIQ8OqevSVIWhK0kFKhpBHAR9h5K1NMOOJG+kUcQz98aEdld0dw6Udld0dw + 6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw + 6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw + 6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw + 6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw + 6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw + 6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw + 6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw + 6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw6Udld0dw + 6Udld0dw6UdlQny/EacWBsjw/vnNDCgvdjMphAMuECtP3o5xR1sk7oGrjcbatehD6AtH4069yB3OmnoZ + X8KfOl94/wCtXx1Y2/IZ/GKjHREjgeTT8OT53b92t5/+o62SitjiSX7Ke94yQE4UvXsb39utlRx0g/hX + yXODja76pOtl9xMsfqOTZ1cbW/Y29bJHx26+qHLb7EEuy3Jgp07OOsD004hTbi0KG+lRB9I1slp4dsc2 + GTvtP7Ieg98ud4tlpYMifKQy2BznfPoFYmzhkvFbFka2pHl1+HU2fMnPrelSFuuKOkqUdOtb7Vcbk6Go + cVx5Wn6gJqx5NXF8IduskMI520b66s2AcM2YNqYhJceT/wBVz5xpISkAJAAHABq5tcUXfXJ1skf85uns + w79mLx0vftB1cM8YLX7Qih4I5Dnr+3s34F62T3FL/lL79ifjFd/anfj3jAGA38RyhJkgt29pXz1eUPQm + osZiJHajx2kttNpCUoSNAAH6MdYSRiWyLaQAJTOlbBp9l1h5xl1JS4hRSpJ4QRrZS4y+XQ9xpjmmSwPo + CedH2HuXiT/oHxo8P2UspAtzP75UlK0qSoAgjQR0g1jqxmyYlnRR+zKtsb/CrWwDcRbsWWt88Bc2B9C9 + e4DTAm+pX8Kkb0h4f61fHVYOh5o/6hUU6Y0f1SfhyfO3eu9vH/062SnGOZ7Ke94yQE4UvXsb39utlRx0 + g/hXyXODja76pOtl9xMsfqOTZ1cbW/Y29bJHx26+qHLVJBSoHnBFX1rab1c2+rKdA9462SL4TdLm0T4T + IPeiQkFROgDfJNYtzXt9qLkW1ASpIBBc+og1dr3c7xKXJnyVurV0neHoGtabHdLzIDECKt1RPMN4ek1h + 3JthsNv3mTtivIN1b7Xb7awhmHGbZQkaAEjvGbXFF31ydbJH/Obp7MO/Zi8dL37QdXDPGC1+0IoeCOQ5 + 6/t7N+Betk9xS/5S+/Yn4xXf2p346+A8DScSyw88C3AaP0i+ueqmokONCjNRorSWmWkhKEAaAANTN7B+ + 0P7vQ2/o3d6SB1utrWu5SrXPjToqyh1lYUk1hnEMS/2eNPYOxKhocRzpVzj7DXLxJ/0D40eH7KWUgW5n + 99Z3WgbXbrmjmJYXrQHtonRXuo6lXYahyA/DYd3vpG0q3vvGnWlt7KHJHS0sDsqanYzJSeh1Y/PVSdCg + eg1EOmHFV0so+A5PnWrRiCI30RxrZINab3Pc6GO94yQE4UvXsb39utlRx0g/hXyXODja76pOtl9xMsfq + OTZ1cbW/Y29bJHx26+qHLsYo2OJ7sP8AuFa2Tq9jiZaeswe83K5Q7bEclTH0tMoG+SaxpmXcL2tyLAWq + PB7Fua0eM/KeSyw0pxxR0BCRpJrC2UEl8Nyb04WkeQT4VWy02+1RkR4UZDLaRwJHes2uKLvrk62SP+c3 + T2Yd+zF46Xv2g6uGeMFr9oRQ8Echz1/b2b8C9bJ7il/yl9+xPxiu/tTvx1sD4JlYmmhSwW4TRG2u/wDp + NQIES3RGokRlLbLQASkas2JGnRH4shsLaeQULSeg1i3DkjDt5kQXASjwmV9ZB1stMXnD94SxIWRClEJc + 6EHr0khQCknSCNIP2FuXiT/oHxo8P2UspAtzP76zLgJmYOuJ52AHE6w4aw46HcPWhenSTFa+GspIUhQ6 + RV3RsLtckdWU8OxR1rO8HrTbnNPDHRyfOZ3Z4uCepDa1sj2vpbw90BA73jJAThS9exvf262VHHSD+FfJ + c4ONrvqk62X3Eyx+o5NnVxtb9jb1skfHbr6ocuxioLxNdj/3CtbJ4f8A5QVdDJ7xd7xBs0F6dNdCGmx/ + NR6BWMMYz8TTitwluKgkMsjgA1sK4NuuJZOwjNlDCT9I+rwRWGcF2bDjIEZoLfI+e+vwj3zNrii765Ot + kj/nN09mHfsxeOl79oOrhnjBa/aEUPBHIc9f29m/AvWye4pf8pffsT8Yrv7U78dWI2l2Uw2rwVOJB9BN + WeBEt1riRYrSW20tp3h6OfXzEwkjEdkUtlAEyKCpk9PSmloWhakLBCkkgg8xGtlPi/dSBuRMc0yYyfoi + fro+wty8Sf8AQPjR4fspZSBbmeVqUlIJUQAOEmm3GnEhbbiVjpSdI5diGIJWHrs3o8KOv8hppQ0KI6Dq + jmrBx/8Axa0ezo18WMbRiS7N/wDcrPbv62DHw/hWzO9MZPJ80pAfxlP/ANASjWyRZKbbdneu8gd7xkgJ + wpevY3v7dbKjjpB/CvkucHG131SdbL7iZY/Ucmzq42t+xt62SPjt19UOWkgA1iB3bb5dF9Mt7+462SrA + Xe5znUY1332o7Lr7ywhtCSpajwACse4yexJcyG1EQWSQyjp/1HWwFgGTiN8SZILUBs/OVzufcmoFvh26 + K3FiMJaaQNASkaO+5tcUXfXJ1skf85unsw79mLx0vftB1cM8YLX7Qih4I5Dnr+3s34F62T3FL/lL79if + jFd/anfjqwPHovrUfGovi0f1Se8ZtYOMCabzEb0R5B+lA5l61ousu0XGNPiLKXWVhQ+/7jWHb3Dv1njX + Bhfhp+cjnSvo+wly8Sf9A+NHh+yllIFuZ5TiXMm0YemvQXGHXJCAD91XPOe+P70GM1HHvGrji7EdyKzJ + ubygrhSFaBWTF3MizTYC1krjvbMehzl1wSlVsn9JYc/tp0aHXB/qOrz1hNG1Ybs45zFb+GvmfG2jGlzI + GhLhQoe6NbLCYHcGW4A77QLfJ8ayBJxVeXkneMlWtlDGDWEEO87r7ne8ZICcKXr2N7+3Wyo46Qfwr5Ln + Bxtd9UnWy+4mWP1HJs6uNrfsbetkj47dfVDltwc+TwJbp+oytXo3qlO7dJfd8o4pXadOtkhFI3Vl8x2L + evnBiwoSiwxHOhcoj+zWwThR/Et3QwAUxmtCn3OhNQoUaBFZjRmw200kJQkd+za4ou+uTrZI/wCc3T2Y + d+zF46Xv2g6uGeMFr9oRQ8Echz1/b2b8C9bJ7il/yl9+xPxiu/tTvx1YHj0X1qPjUXxaP6pPeLlbYlzt + 8qFJQFtuoKVfd0aKxJYZVgu8mA+PAV8xfXRzEa2WGMdwLsIkpf8AgpagFdCF8yqBCgCDpB4D9g7l4k/6 + B8aPD9lLKQLczynO21bXNt1yQjQHUFpfpH6cp7sIGKmWlr0IlILfpXy6eCLZPX0MOf207vuuH/UdVpBc + dQgcKlAdtWYFizW9nnRHbST6Br51wgzf4b4G89H1smZIXhyUxst9uTyaU8hmLIdUQAltSiegAVOdL02U + 6TpK3VntOqKwLEELCVnb4FKYSsjoKx3vGSAnCl69je/t1sqOOkH8K+S5wcbXfVJ1svuJlj9RybOrja37 + G3rZI+O3X1Q5bjqcIGEro/zlooH/AJa+UMFUTCYdUPGXlLGteLmzarZMnPeAw0pZ+/RV0uD9zuEqa+sq + cfcK1HVbbW6tKEDSpRAA6SawThtrD1iYjbEbesBb56VHv+bXFF31ydbJH/Obp7MO/Zi8dL37QdXDPGC1 + +0IoeCOQ56/t7N+Betk9xS/5S+/Yn4xXf2p346sDx6L61HxqL4tH9UnvOZeDxfrOZcZsGZFBUjpWjnTR + BBII0EbxB1sqsXi720WyW7/jIo3j10fYO5eJP+gfGjw/ZSykC3M8pzNtIuWE5ZSjS5HIdR+m3y3IU6LK + bOhbTqVA+irbOZn26HLZIKHmkr08txLIEXD12fJ0BEdX571KOlRPSdXD8ZUq921hI0lchHxpKQlKUjeA + Gga+dcHZ2q3S0p0lp4oUdbJGalE66RFr8NoKSOTY5mIhYUurxc0KLJQj0q1rbGXKnxGEDSXHUp7TUVhE + aOyyjwW0BI9AGjveMkBOFL17G9/brZUcdIP4V8lzg42u+qTrZfcTLH6jk2dXG1v2NvWyR8duvqhy3Oi5 + fJ7NCgpVvyXdkofcjWQhS1pQkaVKOgAc5NYct6bZYbZDAH0TCe07+tnPdvk9nh25HDJc2a/QjWytsgum + KGHHE6WogLyuQZtcUXfXJ1skf85unsw79mLx0vftB1cM8YLX7Qih4I5Dnr+3s34F62T3FL/lL79ifjFd + /anfjqwPHovrUfGovi0f1Se9ZqYONouO6cVH+ElqJPQhzWst3l2a5Rp8VRDjSwfuUOcGrDeIV7tMW4R1 + /McTvp50q5x9grl4k/6B8aPD9lLKQLczymUwiTFfYVo2LrakH/yFXaEqBc5sRXCy8pHYf05P34TrE7bX + F/Swlb3q18tzVniDhCUhXDKUhoa2U9uVLxbHe0aURUFxfeMwrYbhhG5NNp0uITs/c1stLki34ut6l+C6 + S17/ACbOi5CPZIcD68h7Z/yRrZYW1U/FsJXCiPpdX3zGSAnCl69je/t1sqOOkH8K+S5wcbXfVJ1svuJl + j9RybOrja37G3rZI+O3X1Q5bmhexdcTvobVpaiAMo1sv7ObtiiA19RpYdX6EVwa2b08SsVFlCvmMMpRr + ZLW8s2mfNI333QkH7kcgza4ou+uTrZI/5zdPZh37MXjpe/aDq4Z4wWv2hFDwRyHPX9vZvwL1snuKX/KX + 37E/GK7+1O/HVgePRfWo+NRfFo/qk96vdoiXq0yoEpIKHkkA84VzEVfLNLslzkwJSSHGlkA9Ycx1srsZ + biXMQJS/8HLPuLoEEAj7A3LxJ/0D40eH7KWUgW5nlWbNr+Q4sedQjQ3JQHB+nLu/7iYliurP0L5DTtAg + gEHSOWZ03gOTYFrQr9ikuuj7zrZLWjaLbOujiPnvr2tv8Ce8SWEvx3WF8DiCk+gir1b1227Toaxo2l5a + R+EHeOrDlLhy48lvw2XErT6UnTVsnIm26HKaOkOtJVp9I3+S5u3gT8UKjIUC3EQEehWtknaChi43VaSC + shls98xkgJwpevY3v7dbKjjpB/CvkucHG131SdbL7iZY/Ucmzq42t+xt62SPjt19UOWYsvjdjsU2ao/O + CClv71q4KedW8866s6VuKKlHpKjpOtk5YDGtki7Op+fJOwb/AADWNY1kfKcVXl3mMpetlU0G8GQ/9bq1 + cgza4ou+uTrZI/5zdPZh37MXjpe/aDq4Z4wWv2hFDwRyHPX9vZvwL1snuKX/ACl9+xPxiu/tTvx1YHj0 + X1qPjUXxaP6pPe81cHi8WzdOIjTLipJIA8NGsDo3xWV2MBerWIEpz/GREe+j7A3LxJ/0D40eH7KWUgW5 + nlWdtqCoFtuI4WnCz736QSCCN4jfFZd4mF+w4wFr/wATF0NPDp0cB5XKkNxYz0h06G2kKWo/cBprEd3d + vN6nT1knbXDsfuTzasWM7KksR2hpW6sISPvJ0Vh+1N2ezQYCB+yaAV+I757znJZDEvrVxQPmS0DZfjRr + ZR3oTsMiIsjZwlFA5Jcpjdvt0ua6dihlpStJq5TXZ8+XLdOlbzqlk+nVbQpxaEJGlSiAB95rB9mFkw7b + 4WghYbC3Pxr3z3zGSAnCl69je/t1sqOOkH8K+S5wcbXfVJ1svuJlj9RybOrja37G3rZI+O3X1Q5Zmviw + XW6C2Rl6Y0M6FHrua1is8i9XWLAYB2TqwCeqnnNW+Exb4EaEwnYtMNhCR6NZfgKP3Gr2suXees876/jr + ZaK04LtoH38gza4ou+uTrZI/5zdPZh37MXjpe/aDq4Z4wWv2hFDwRyHPX9vZvwL1snuKX/KX37E/GK7+ + 1O/HVgePRfWo+NRfFo/qk97ICgQRpB3iKzOwduDdTLioPyKWSpHQhXOnWsN6l2O6RbhGUQtpekjrDnFW + a7xbxaos6MsFt1IOx5wecH7AXLxJ/wBA+NHh+yllIFuZ5Vj63C4YSubQQFLQ3s0elNEfpy8xQvD1+aWt + X+FkENvikLStCVoUFJUAQRzg8qzdxX8khpskVf0z4Cnz0I1sosNmfd13R5H0EPwfvcPesysPbsYYf2A0 + vxgXkDWysv4tOJGmXFgMTNDSuSZxYhEO1MWphehyWdK/Vp1stMPi9Ylj7NOliMQ6733GSAnCl69je/t1 + sqOOkH8K+S5wcbXfVJ1svuJlj9RybObja37G1rZI+O3X1Q5XmPjNFgtyokdWmdJQQkdRPWpSlLUpSjpU + o6STzk62UmE/kMA3mUjQ/JGhkdVvXXvoX6DV5QUXWcnofX8dbKl4rwVEHUecHIM2uKLvrk62SP8AnN09 + mHfsxeOl79oOrhnjBa/aEUPBHIc9f29m/AvWye4pf8pffsT8Yrv7U78dWB49F9aj41F8Wj+qT3zEdgiX + +zSYEneCx8xfOlfMRV1tkq1T5MGUjYusqKTrZV4yNouQtktf+DlK3j1F/YC5eJP+gfGjw/ZSykC3M8qf + aS9HfZIGhxtSe0aKusRUK5TIquFp5Sew6mU+Nvl8QWWc5pkMJ0sHro5TirEkPDlpdmvkFZBDLfOtdXS5 + y7rPkTZThW68sqJOrb4Ei4zY8OOgqdeWEpHprDNgjWGzxYDI8BOlxXXWeE96UlK0KSoAhQII+41j7Dhw + /iGSwkaGHiXWfQrm1W3FtOIcQopWhQKSOEEb4NYKxA1iCwRJZWA6hIbeSOunkT77Udh151QCG0FSj0AD + TWML+7f7/MnKPzCrYNDoQnWyxw1uJYEPOp0Spmhxf3J5h33GJAwpe/ZHf7dbKrjnB+9KuS5woIxUT0sp + 1su1/wD4XZvU8mzl45H2NrWyP8funqxyrGOMYOGYBWshcpwfQs85q63Wbdp782Y6VvOq0kn4DWy7wcrE + V0DshB+QxyC6euepTbbbTaEISEpSAEgcAA19GkVjKN8lxTeWerKXrZKTi7a7jDKh9E6FD0K5BmzxQd9c + nWyQUE3u5ezjv2YfHO9+0K1cNb1/tftCKHAOQ54HS9Zh0IXrZPcUj7Uvv2J+MN39rd+OrB8di+tR8ain + TFj+qR8O+5t4P+XQReorf+IYR9MOs3rJUUqCgdBB0g1lpjDd60iHJc/xkRICj10fv+5eJP8AoHxo8P2U + spAtzPK8zLeIGMLggcDpDvvakGdJgS2ZcV0tvNKCkqHSKwRjGJie2hekNy2gA+1ye9XqBZYD02a6ENI7 + VHoFYuxXOxNclSHiUso3mGuZCdbKzBO50cXmcj/EvJ+hR1Ed8zMwqm+2JTrCNMuICts9cc4ojRq5aYtN + gvSGX1kQ5RCF9CTzKoFKkgg6QeQ5uYu+TMCxxHPpXQDJI5kdXWy2wsb/AHxC3kaYkUhbp+ApISkAAaAO + ADvuNilOEbyecxl62Vx0Y0tvJc6o5av8JzysbWyvkh7BsBHkypHJs3XdtxlI/wBDDadbJJYF2uKf/pHK + caZiW7Dza48cpfnkbzfMj8VXS6zrtNdmTXlOurO+T8BrYXw1OxHdGocZJ2PC65zITVjs0Gx25iBDb2Lb + aeHnUecnvOb1u+SYqW8lOhEhoK1sqr2LZilhlz9lMSWT3911tlpbjqwhCRpUonQABWY+YAva12y3+Itr + 33Od0jWyT/z+d7P37Hp04uvPtCtXDu9fbZ7Qik+Cn0chzxUDMtX4F62TS9GGHPaF9+xJxgu3tTv92rDO + iZG9aj41G8Vi+ob+HfVoStCkLAUlQ0EHgINZjYR7nb0osJ/wUklbJ6OlOth2+y7Ddo1wjKILavnDrp5x + Vpuca626NOjLCm3kAj7ukH9/XLxJ/wBA+NHh+yllIFuZ5XndAS3crXMQP2rKkKP4NWyXufZJ7U2E6UOI + O+OZQ6DWDsa23EsIKbUGpTY+lY/9jkuJ8V2rDsNT0t0Fwj6NkeGs1inFtzxLNL0pexaSfomR4KBrZa4A + XcXWrvcmtERB0st+VNABKQAAAN4d8IB3qzWwbuRcTdIbREOUolY6jmtlZjpE6O1Zbi8PlLY0MLV9dHIM + ZYthYZtq3lqC5TiSGGek9JqfOk3CY/LkuFbrqypSj0nVttulXOcxDioK3XlhKRWFsORcO2hiCwAVgbJ5 + zrrPfsyZCWMHXI9YJR72tl49tWMrLzbJ8J5LnfAJbtU7mBU3rZJz0rtE+FsvntPbMehXJswJXyrF94WD + pAfKB6E62TUkNYpW2VAbbHWOT3S9Wu0sKfnzG2UjpO+axZm3MmhyLZklhngLx8M04446tS3FlSlHSVE6 + STrYbw3ccQ3BuJEb9Y59VCek1hnDNuw5bkRIaPnHfddPhOK71nJZvlliYuDaSVxF7/4FazTq2XUOtnYr + QoKSRzEb4rBOJ2MR2KO+V/TtAJfR/q77PnRLdFclS30tNNjSpSjorHeYsu/LXChFTMAH+buvlBK2nFiU + eVZUO+neBrFrwfxJdXAeGQrVszm13aAs80hHxpB0oQelI5DnY6Ddrc11WTrZKulVjltjhQ/31RABJq+r + 2d5uS+mS58dVlWxeaV0KBqAtBtcIjhWw0T7o79izDcXEdnfguaAsAllzqrqfCkQJj8SQgodZWULB6RrZ + T4xNsuItMt3RFlH6M9Rz9/XLxJ/0D40eH7KWUgW5nlec8EOYcYkAArZkJ7DrQLhMt0pqVDeU08g6QpJr + Bma8O5bCJeFiPK5nfqLpK0rSFJUFA84OkHkLz7TDanHnEoQkb6lHQBWLs2oUPbItl0PvcBf+oKuNynXO + SuTMkLedVwqUdbL7Ld65rauV1aKIY322jwu022202httAQhAASkDQAB365W+Jc4L8KW0FsvJIUKxjhOZ + hi6rjOgqYWSWHesNVp11l1DrS1IWggpUDoIIrAGZbF1Q1bbu6G5gACHTwO9+xfjO3YahFTiwuUsfRMCr + 3e598uDs2Y4VLWd4cyR0DVbbW6tLaEFSlEAAb5JNZc4FRYYgnTEgz30/0k9/znuIYsUWFzyXh2I1rLNV + Au0CUnhafQqmnEustOJIIWkKBH3jkmaVqE/CUtaEkqjEOp1sqb4LXiZplxexaljaj3lL7BfLO2p20J2R + QDv6O+Xq5M2q0zZzx0JZbJ9J5hUuQuTJefWdKnFqUSfvOnWw1d1Wa9wJ44GXQVDpTUSXGlxWJMdwLadQ + FIWOcHkb0mMwlSnn0NgDSSpQFXXMnCdtQQZofX1Whsqvmct1lILNsjpio6x31VPuU+4vF6ZKcecPOs6+ + EMD3PEkpOxQWogP0j5HwqxWC12CCIkBkITwrV9ZZ6T3ubEYmxJEWQgKaebUhY6QoaKxJY5FivMu3vA6W + 1nYHrJ5jrYTxTOw1c0SmFEtK3nmuZaasV+td9gty4L4Ukj56PrIPQR3vE+NLNhxhRkPBb/1GEb6jWKcZ + XfEkkrlOlLAJLbKfBT3jA1xTbsVWqQvwQ8En0L77LfRHiyH1kBDbalKP3AVNdL8yQ6Tp2bqldp1Yy9hJ + YX1XEnsNQX0PwIbiNBC2kq0+kchzjlJfxaUJVpDTCBrZIS0A3iKT1Fgd9u7wjWqfJUdAbYWrT94FPuqd + edcVwrWVH+Z1QdBBrCstM3DdokAg7OOke783v+b+EA8yL7Da+e2AJIHOOtrJUpKgpJ0EHSCOmss8dJvc + IW6a8BPYT/N1H79uXiT/AKB8aPD9lLKQLczyvH8RqVhG7thGlSWdmPSD3jDeYGIbAQlmQXWPJOb4qw5s + YcuYQ1MKoTx6/gVHlxZTaXY8ht1CuApVp77Mutst6NsmzWWU9KlVfs47TFCm7UwZLnlFbyAav+Mb/f3F + GbMVsOZpO8gazDD0h1DTLaluKOhKUjSSawPlWhkM3C+I0ueEiN0fjpKUpSEpSAANAA4ByDEOH7bf7cuF + Mb0gjShf1kK6wrFWE7nhqeqPKbJaJJaeHgrGqCQQQdBG+CKwXmvLte1Q7uFSYnM5wrRVqvFrusZMiFLb + eQeg7/oPenXGmkKW4tKEpGklR0AVjDNiFBDkSzEPyOAvfURU+fMuMlyTLfW66s761HVZZefdQ0y2pa1k + BKQNJJNZe5cItAbuV0QFzCNLbfM13+ZMiQo7kiU8hplsaVLUdAFY6xQrEl7dkI3ozXzGE/6dfK3GjFwt + zVomPBEpgANafro5JJjtvx3mHACl1BSR9yhWI7M9ZL1Nt7qSNqcOw+9B306ra1trS4hRSpKgpJHCCOA1 + l/i9jEdobbW4BOZAQ830/wCrWeeZZbW664lCEjSVKOgAVi/NmHDC4lk0Pv8AO+fATVrxfeIN/bvC5K3X + tl9Lsj4aDwpq1XOJdLbGmxlhTbyNkCPh3q4XO3W5lT0yW2yhPCVGsw8wDiFYgwQpEBtX83T3jCmYN7w0 + Ay0oPRfIrqHnXZ1+M251o+/Qzkwovw0yPcr9cuEv+49yv1y4S/7j3K/XLhL/ALj3K/XLhL/uPcr9cuEv + +49yv1y4S/7j3K/XLhL/ALj3K/XLhL/uPcr9cuEv+49yv1y4S/7j3KGceE0cAke5S848MJ07FuQadzss + oGhu3vLp7O9nR9DZ1fzcqXnRfXDoYiMNip2ZeLphJ3QLX3IqXdblMWVyZrzhPSo94jRZMt5LMdlbrijo + CUjSawhlGslqXffSIwP99Ro0eKyhhhpLTSBoCUjQAB33M7BZv1u+WxGv8dGT76OrSkqQopUCFA6CDwg6 + 1mvtzsktEmDIU2scI5lDoIrC+bdouKER7qBEkdf6iqYkxn2kuMPJcSoaQpJBGtp0VdsWYesyFKnT0JKf + +mk7JZrEub86WFsWhr5M35U+HT8h+S6p15xTi1HSVKOkn9ABUQACSd4AVgLK/bQi43xn5hGlqMfiusy8 + PMWLEjjcZjaozyAtoara1tuIcQdCkqCgfvFYPvzN9w/ClpX9IEBD3Ts07x75mriZm12Ny3Muj5XNBQU9 + VvXyxv7V2wxHjlwbfD+Y4n4HkE2ZGgRHpUlYQ00kqUT0CsQXVd4vU+4KGjb3ioDoGtl/iFFgxLEkunQw + 59E99yV0haHEJW2oKSoaQRvgg98zbxSxDte47DoMmT+1HURr5OYoaciOWOS6A42Spj709A7+60082406 + gLQtJSpJ4CDwise4Vcw3e3WUpPyZ4lbB1ocyTCktSYzqm3m1AoWDoIIrBGZkC9ttQ7ktLE7pO8l2gdI0 + j993LxJ/0D40eH7KWUgW5nldwYTJt01lSQQtlY/KpCNrfeR1VqT2HvMC8XS3LSuJMdaKeqreq2Zt4ohJ + 2Dy25I6VioOd8TQkTLW4OktrqLm5g939qt5r0oqNmDhB9IAuraRTWKsNKSSm7xSfx03iPD/CLpG2X3uC + u6GwaAN0o+j8Yrujw+g6XLrF98U/jfCcYfPvDB6dialZsYQYB2D7rx6Epq452sb4g2pX3FxdXTNLFc/e + RJEZHQ1UqbMlrK5Mhx1ROnSpROvhrA19xC6ksMFtjnfXvJrCuBbPhxoKabD0r6z6xyO6Wm33eE5EnR0u + tK6RwH7qxnlncrG47JghUmD2rRRGjVtt3uVqfD8GU4ysdU1Yc55LIS1d4YeHlGzoNWnH+FbkNLVxQ2vq + u/MNNSGHkAtPIWk86VA6hUkcKgKm4isVuSsy7iwgpHAVb9XrOOzx0rRbWFyXOZZ+aisQY3xBflkSpakt + eSRvJ1rJh6632UmPAjqcPOr6qR0k1g3L624cQ2+sB+dzukeD+Dvd4xJZ7ElldykBpLp0Ir9ZuCwTpuXY + mjmtgttG9OcJ+5FSM38KND6Lb3fQjY1c87QUaLda9iel1VYgxffMQOEzZSi3p3mhvIHeGnXGXEONOKQt + J0hSToINWTNrENvbSzJ2EtvpX4VQ87LMsASLc+0ekGmM28GkfPffQfV0jNLBXPPV7lN5nYK85VZr7ar1 + EVJt74dQFbEq7/m7hEz4CbzEZJfjDQ8APCRrW25zrXLblw31NOoO8Qaw5nLAebbZvTBac8qjfRUXF2GZ + TaFtXePoV0q0Gjf7COG6RgOnZipuOsJQUaXbq2rpDfzjV5zngNJW3aoa3V8zjlX7GN+vyyZctQa5mkby + f05O4hnsznLQWXHYrvzgocDKtXH+L38KxYDzUZDxkLWn3a/XfdB4FtZpWdl5+rb2KczoxGrwY0ZNTcz8 + XSuCbtI6ECptynznC5KlOuqJ+uon9xRYUuY6GozC3VngCQTWHsoLxMLbt0cERnqcKzVhwrZLC0EwoqUr + 53SNKzyDMrLgzFO3izs6XuF9hP1/vTS0KQopUClQOgg7xB17ZiG82pYVCnutfcFb1W7OPEUcITJaafA5 + +BVRs74Wx0P2l3/xXSM7LCE+ISRTmd9oQjQ1a3z6VCpudk8+JW5tH3rNXTMPFNy2aVz1toVwob+bTjrj + qytxxS1HhKiSf0wYEy4SW40RlTrqzoCUisDZZMWcon3UIemcKUcKGv0ZsYcVd7GJrKNMiHpV6Ua2CMaS + 8LTyvQXYju881Vrxxhi6MpcZuTSD1HDsFU5iPD7QJcusZIA64q95sYbt6SIqlTHuhG8msvsWyMTQZr0g + IQ6094I5kHUumN8NWmY5DnTdrfQASiv1pYKQnx8kkdSpGbuEWUgtKfeV0bCr1nS+6gt2qBtP+tw7Kp8+ + ZcZTkqW+p15Z0qUo69kvlxsc5EyC+ULHCOZQ6DVpzrgLabbudvWhfOts03mtgxY8ccR6W6bzMwa5sUC4 + 76j1aQtDiELQdIUAQfuPeZ+PcLW2U7Flz9g82dC06KOaWCm98zlr+4IqdnNh6Ok/JIz0hXu1izH14xJ9 + E4QzFHAyjvGFMy7xYG0xnR8qijgQvhTUDOTDD6R8qZfjn36Rmjgo8NwV7lWTEdnvjLq7c/twbVoUdQkJ + BJp7MjB7C3G3LjoWhRSfm0c0sFAePuH0IqVnFhZjfZQ++fRsavmctzlIW1bIoihQ8M766kyZEp9x991T + jqzpUtR0knXjyH4zzb7Dqm3EK0pWk6CCKsOc1yioQ1c4wkpA8NG8uomcGE3k/Th9k/h00jNHBXnBfuVa + ccYYu0xESJO2bqxvDY98xphVjEtldi6B8obBWyvoXUmO9FfdYeQUONrKVpPMRrAlJBB0Eb4IrD2ZuI7K + kMl4SWOo7VuznsTwAmwnmD0g7IUzmngxaNG6Ckk9KKTmLg4kAXMEkimJDMhhDrSgpC98H973LxJ/0D40 + eH7KWUgW5nlZAIINX/J+0TnX5EKUuO6sk6OFFXnK3FNsC1oYEppI8NqpESVGWUPsONqHMpJHftkrpPe7 + HgvEN8WPkkJe187q95IFYZyltNu2D9zX8rf6nA2DTTTbLaW2kJQhI0BKRoA5KQFAgjSOAg1izKu03jbJ + UBQiSj7ijV+wlfLC8UTYignmcTvoOvHutyjaNpmvo0dCyKj49xYwkJRdXaGZeMPOR90UvMbGC+G6LqXi + a/yyS9c3z6FkUtxxxRU4tSldJOk60aLJlOhqOyt1Z4EoBJrC+UM6Vtcm8ubQ15EeGatlpt1pipjQYyGm + wOYb59PfM7wBGtXrF8jyZ4tyvau/qSlSVJUAQRoIPOKzIy8etD7tztzZXBWslaBwtd40nVwnl9eMRrS7 + sTHh87yx/bVgw9bLBBTFhMhPXX9ZZ+/Vz2/y6x+ve/ckS13KYQI0N538KSateVWLJ6myuMIza/ruGrNk + zao5Qu4ylyVc6E7yKttktVrbS3ChtNADhCd/keN8sYt9Lk63BMebwkfUcq6Wi42mUuNOjLZcSeBQ+Hfg + CSAN+sL5cX2+rQ4tsxYnO6sfAVhvCNnw7H2ENkFw+E8rw1fpUlKkqSoAgjQQecVmPgh6w3BcyK2TAfUS + kjgbPV7zkrcUs3qbCV/12NPuamaoAxpP/Cjv0Xxlj1ifjUDxGH6lHw7zmDxuuvrO/ZGAGFdvWJ1HP2L3 + 4FVdd65zvXufHv8Aldxvg+hXfc38HFJF+htdCZIH9/eo3jLHrE/GsOlIsEADqq+J/e9y8Sf9A+NHh+yl + lIFuZ5dNtNsnpWJcNp3SPrJBNXbKLDEzxcuxV9KKuWSt4YClwprT6eYHeNXHBGKLbvyLW9o6UjZU7HfZ + UUusrQeggjkUCxXe4rQiJBddKuDQmrNk5fpehc95ERHOPCXVjyyw1aNgtTJlPD67tNtttIShtISkbwAG + gDlLzEd9pTT7SHUK4UqGkVf8pLBcdk9CWqG6fdq85WYptmyUhgSmgNJU3UiFLiq2MiO40roUkjvgSpR0 + AE1a8IYiuqtES3OkdYjYirJks4Sh27zgB5JqrLhmy2RsIgw0Nnr8Kj37N2y3S6MWxMGIt4oWrZBNdw+K + vNL/AGV3D4q80v8AZXcPirzS/wBldw+KvNL/AGV3D4q80v8AZXcPirzS/wBldw+KvNL/AGV3D4q80v8A + ZXcPirzS/wBldw+KvNL/AGV3D4q80v8AZXcPirzS/wBldw+KvNL/AGV3D4q80v8AZXcPirzS/wBldw+K + vNL/AGV3D4q80v8AZXcPirzS/wBlZU2u4WuwymZsdbLin9ISeQOIQ6hbbiAtKhoKSNIIrGWUSJK3ZtiK + UL4VRuY/hq4Wq4W15TMyK4ysEjQod5smDsQ3twCHAcKOdxQ0JrDGUlstpQ/dFiW/1PqJpptpltLbaAhC + RoCQNAA1s37Nc7rCtCIENbxbdcKgK7h8VeaX+yu4fFXml/sruHxV5pf7K7h8VeaX+yu4fFXml/sruHxV + 5pf7K7h8VeaX+yu4fFXml/sruHxV5pf7K7h8VeaX+yu4fFXml/sruHxV5pf7K7h8VeaX+yu4fFXml/sr + uHxV5pf7K7h8VeaX+yu4fFXml/sruHxV5pf7K7h8VeaX+yu4fFXml/sruHxV5pf7K7h8VeaX+yu4fFXm + l/sruHxV5pf7K7h8VeaX+yu4fFXml/sruHxV5pf7KGBcVngtL1Iy/wAXL4LS7Qyyxp5qUPSQKZymxk54 + URCPSumMlsROeHLjIqNkc4PGrt7iKhZNYdYAU+++9UHAWFLerSxbW1HrL+dTEWNHTsWGENjoSkDk94sV + ovUVTE6KhwcCT9YViLJucwVvWd8Po8iveVU+03O3OKbmQ3WVA6PnJIHemIsmSsIYZW4o8yQSasmVeJrl + sFvtiIyfrOVh7LPDtlKHVtmU+Pru0AEgADQBqzYcSdEeiyWUutODQpKhpBrF+U1wt63JVoBkRvJfXRTz + LzCyh1pSFDhChoOqATVpwpf7usJh291f+ojYprA2WMuyT2bpNnaH0eC03qZjYWv9wxXNkRbc660pKNCh + XcPirzS/2V3D4q80v9ldw+KvNL/ZXcPirzS/2V3D4q80v9ldw+KvNL/ZXcPirzS/2V3D4q80v9ldw+Kv + NL/ZXcPirzS/2V3D4q80v9ldw+KvNL/ZXcPirzS/2VHwTilMhlRtL28tNQ0rRDjIUCClpII6CB3nGuE8 + RTMTXF9i2uraWsFKhXcPirzS/wBldw+KvNL/AGV3D4q80v8AZXcPirzS/wBldw+KvNL/AGV3D4q80v8A + ZXcPirzS/wBldw+KvNL/AGV3D4q80v8AZXcPirzS/wBldw+KvNL/AGV3D4q80v8AZXcPirzS/wBlZR2i + 6WmHc0zoi2StxOx2Wo4CWnB0pOirjgvFDk+WtNqeIU8siu4fFXml/sruHxV5pf7K7h8VeaX+yu4fFXml + /sruHxV5pf7K7h8VeaX+yu4fFXml/sruHxV5pf7K7h8VeaX+yu4fFXml/sruHxV5pf7K7h8VeaX+yu4f + FXml/sruHxV5pf7Ky8wtf7fiiG/KtzrbSQdKz32VFYkxnY76AtDqClST0KrEOXN/gXaUxDguPxwrS0sd + U13D4q80v9ldw+KvNL/ZXcPirzS/2V3D4q80v9ldw+KvNL/ZXcPirzS/2V3D4q80v9ldw+KvNL/ZTGCc + UofZUbS/oC01YkvMWeG04jYLQkgjo0k/ve5eJP8AoHxo8P2UtS9FtZSP3FLs9nm7IyYDDh+9ANT8r8IT + CtfyMs/gVUvJK2KKjHujrfQCAal5KXxvSY85hwe6ak5WYxZJ2MEOgdVVSsG4niadutT49CdNKtF0R4UB + 8elBpcSUjwmHB6Umi2scKCP0AE0ll1XAhR9ApECcvwYrqvQk0xh6+PnQ3bJCv/A1Gy4xjJ0FFqcAPWqH + kziJ4JU/JjsCoOSdtQUmbc3HOlKBVty9wpblbJq3pWrpd+dTEdiOgIZaQ2nqpAA5fMtVtmo0S4bLx5tk + kHQKuGVmEZhUpMVTKjzoURUvJCIQoxrq4PuWKfyUvyNJanRl09lLi9vwGG3fQqlZYY1TvblLNfq1xp5o + coZaY080LprK3GLh8QCfSumMmsUOeGthuouSEreMu6oHqxUDJrDsfflPvyKt2DcM20aI9tZ3udQ0mkpS + kBKUgAcw/etxtVsujO1TYbbw5tkATV2yasMolcOS5F/NNS8lr8grMaYw8kU/lZjNonRb9n6FUctcZ+aH + KRljjRfDayn0kVFyaxU/+0LDPpNQMkm94zrqfvS2mrTlzhW1EOIhB1fWd+fTTbbSAhtASkcAA0AfYWXA + gzGy3KjNvJ0cCkg1dMp8KTQssoXHWedBqfkhJR4ldUL9YKk5QYta8BDLv4FUcs8aealn0EUMtMa+Z3Ka + ytxo5w20p9KqjZOYoeGla47XpVUPJB0jTMuwHq01b8o8LRQC+HZCh1lVBs1qgJSIkFlnQOFKe9XbC9hu + zahOgNLWr64GhVT8mcOPb8eQ+xRyOg816d90UMj7cDv3d/3RUTJvDLACn3X3qt2BsLW0fQW1tR6VjZGm + 2220BDaAlI4ABoH+xy0JWgpUNIPDW4dv8n+Qo2q3czX5CjardzNfkKNqt3M1+Qo2q3czX5CjardzNfkK + Nqt3M1+Qo2q3czX5CjardzNfkKNqt3M1+Qo2q3czX5CjardzNfkKNqt3M1+Qo2q3czX5CjardzNfkKNq + t3M1+Qo2q3czX5CjardzNfkKNqt3M1+Qo2q3czX5CjardzNfkKNqt3M1+Qo2q3czX5CjardzNfkKNqt3 + M1+Qo2q3czX5CjardzNfkKNqt3M1+Qo2q3czX5CjardzNfkKNqt3M1+Qo2q3czX5CjardzNfkKNqt3M1 + +Qo2q3czX5CjardzNfkKNqt3M1+Qo2q3czX5CjardzNfkKNqt3M1+Qo2q3czX5CjardzNfkKNqt3M1+Q + o2q3czX5CjardzNfkKNqt3M1+Qo2q3czX5CjardzNfkKNqt3M1+Qo2q3czX5CjardzNfkKNqt3M1+Qo2 + q3czX5CjardzNfkKNqt3M1+Qo2q3czX5CjardzNfkKNqt3M1+Qo2q3czX5CjardzNfkKNqt3M1+Qo2q3 + czX5CjardzNfkKNqt3M1+Qo2q3czX5CjardzNfkKNqt3M1+Qo2q3czX5CjardzNfkKNqt3M1+Qo2q3cz + X5CjardzNfkKNqt3M1+Qo2q3czX5CjardzNfkKNqt3M1+Qo2q3czX5CjardzNfkKNqt3M1+Qo2q3czX5 + CjardzNfkKNqt3M1+Qo2q3czX5CjardzNfkKabQ02EIGhI4B+5yAeGlssrQUqaSQekCpWG7K+PpYiCT0 + pTS8D4YXstMBHuI//VKy8wmrhtrfuI//AFQy+wkjgt7fuIpGC8NsaNrhN+4io9ot8YgtRkJI/wBIoJSO + BI7P/wC//wD/APgmL//EABQRAQAAAAAAAAAAAAAAAAAAAOD/2gAIAQIBAT8AfSH/xAAUEQEAAAAAAAAA + AAAAAAAAAADg/9oACAEDAQE/AH0h/9k= + + + + 17, 17 + + \ No newline at end of file diff --git a/LFP_Manager/Controls/ucStatus.Designer.cs b/LFP_Manager/Controls/ucStatus.Designer.cs new file mode 100644 index 0000000..df7f47b --- /dev/null +++ b/LFP_Manager/Controls/ucStatus.Designer.cs @@ -0,0 +1,188 @@ +namespace LFP_Manager.Controls +{ + partial class ucStatus + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.pcStatus = new DevExpress.XtraEditors.PanelControl(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControl2 = new DevExpress.XtraLayout.LayoutControl(); + this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.lcStatus = new DevExpress.XtraEditors.LabelControl(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pcStatus)).BeginInit(); + this.pcStatus.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).BeginInit(); + this.layoutControl2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(236)))), ((int)(((byte)(239))))); + this.layoutControl1.Controls.Add(this.pcStatus); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(717, 178, 250, 350); + this.layoutControl1.Root = this.layoutControlGroup1; + this.layoutControl1.Size = new System.Drawing.Size(147, 27); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // layoutControlGroup1 + // + this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1"; + this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup1.GroupBordersVisible = false; + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem1}); + this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0); + this.layoutControlGroup1.Name = "Root"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0); + this.layoutControlGroup1.Size = new System.Drawing.Size(147, 27); + this.layoutControlGroup1.Text = "Root"; + this.layoutControlGroup1.TextVisible = false; + // + // pcStatus + // + this.pcStatus.BorderStyle = DevExpress.XtraEditors.Controls.BorderStyles.Style3D; + this.pcStatus.Controls.Add(this.layoutControl2); + this.pcStatus.Location = new System.Drawing.Point(1, 1); + this.pcStatus.Margin = new System.Windows.Forms.Padding(0); + this.pcStatus.Name = "pcStatus"; + this.pcStatus.Size = new System.Drawing.Size(145, 25); + this.pcStatus.TabIndex = 4; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.pcStatus; + this.layoutControlItem1.CustomizationFormText = "layoutControlItem1"; + this.layoutControlItem1.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlItem1.Size = new System.Drawing.Size(147, 27); + this.layoutControlItem1.Text = "layoutControlItem1"; + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextToControlDistance = 0; + this.layoutControlItem1.TextVisible = false; + // + // layoutControl2 + // + this.layoutControl2.Controls.Add(this.lcStatus); + this.layoutControl2.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl2.Location = new System.Drawing.Point(2, 2); + this.layoutControl2.Name = "layoutControl2"; + this.layoutControl2.Padding = new System.Windows.Forms.Padding(1); + this.layoutControl2.Root = this.layoutControlGroup2; + this.layoutControl2.Size = new System.Drawing.Size(141, 21); + this.layoutControl2.TabIndex = 0; + this.layoutControl2.Text = "layoutControl2"; + // + // layoutControlGroup2 + // + this.layoutControlGroup2.CustomizationFormText = "layoutControlGroup2"; + this.layoutControlGroup2.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup2.GroupBordersVisible = false; + this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem2}); + this.layoutControlGroup2.Location = new System.Drawing.Point(0, 0); + this.layoutControlGroup2.Name = "layoutControlGroup2"; + this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup2.Size = new System.Drawing.Size(141, 21); + this.layoutControlGroup2.Text = "layoutControlGroup2"; + this.layoutControlGroup2.TextVisible = false; + // + // lcStatus + // + this.lcStatus.Appearance.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lcStatus.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.lcStatus.Location = new System.Drawing.Point(2, 2); + this.lcStatus.Name = "lcStatus"; + this.lcStatus.Size = new System.Drawing.Size(137, 17); + this.lcStatus.StyleController = this.layoutControl2; + this.lcStatus.TabIndex = 4; + this.lcStatus.Text = "labelControl1"; + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.lcStatus; + this.layoutControlItem2.CustomizationFormText = "layoutControlItem2"; + this.layoutControlItem2.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem2.MinSize = new System.Drawing.Size(74, 18); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlItem2.Size = new System.Drawing.Size(139, 19); + this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem2.Text = "layoutControlItem2"; + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextToControlDistance = 0; + this.layoutControlItem2.TextVisible = false; + // + // ucStatus + // + this.Appearance.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(236)))), ((int)(((byte)(239))))); + this.Appearance.Options.UseBackColor = true; + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.layoutControl1); + this.MinimumSize = new System.Drawing.Size(0, 27); + this.Name = "ucStatus"; + this.Size = new System.Drawing.Size(147, 27); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pcStatus)).EndInit(); + this.pcStatus.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).EndInit(); + this.layoutControl2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraEditors.PanelControl pcStatus; + private DevExpress.XtraLayout.LayoutControl layoutControl2; + private DevExpress.XtraEditors.LabelControl lcStatus; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + } +} diff --git a/LFP_Manager/Controls/ucStatus.cs b/LFP_Manager/Controls/ucStatus.cs new file mode 100644 index 0000000..8febe9c --- /dev/null +++ b/LFP_Manager/Controls/ucStatus.cs @@ -0,0 +1,49 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Text; +using System.Linq; +using System.Windows.Forms; +using DevExpress.XtraEditors; + +namespace LFP_Manager.Controls +{ + public partial class ucStatus : DevExpress.XtraEditors.XtraUserControl + { + public ucStatus() + { + InitializeComponent(); + } + + public void SetName(string name) + { + lcStatus.Text = " " + name + " "; + } + + public void SetTextWidth(int width) + { + lcStatus.Size = new System.Drawing.Size(width, 14); + } + + public void SetValue(int nValue) + { + switch (nValue) + { + case 0: + pcStatus.BackColor = System.Drawing.Color.Green; + lcStatus.ForeColor = System.Drawing.Color.White; + break; + case 1: + pcStatus.BackColor = System.Drawing.Color.Orange; + lcStatus.ForeColor = System.Drawing.Color.Black; + break; + case 2: + pcStatus.BackColor = System.Drawing.Color.Red; + lcStatus.ForeColor = System.Drawing.Color.White; + break; + } + } + } +} diff --git a/LFP_Manager/Controls/ucStatus.resx b/LFP_Manager/Controls/ucStatus.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/LFP_Manager/Controls/ucStatus.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/LFP_Manager/Controls/ucTargetControl.Designer.cs b/LFP_Manager/Controls/ucTargetControl.Designer.cs new file mode 100644 index 0000000..3fd6f85 --- /dev/null +++ b/LFP_Manager/Controls/ucTargetControl.Designer.cs @@ -0,0 +1,298 @@ +namespace LFP_Manager.Controls +{ + partial class ucTargetControl + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.gcTargetConfig = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl2 = new DevExpress.XtraLayout.LayoutControl(); + this.lbStatus = new DevExpress.XtraEditors.LabelControl(); + this.lbTargetInfo = new DevExpress.XtraEditors.LabelControl(); + this.btnConfig = new DevExpress.XtraEditors.SimpleButton(); + this.btnStart = new DevExpress.XtraEditors.SimpleButton(); + this.lbTarget = new DevExpress.XtraEditors.LabelControl(); + this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.gcTargetConfig)).BeginInit(); + this.gcTargetConfig.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).BeginInit(); + this.layoutControl2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.AllowCustomization = false; + this.layoutControl1.Controls.Add(this.gcTargetConfig); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.Root = this.layoutControlGroup1; + this.layoutControl1.Size = new System.Drawing.Size(803, 61); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // gcTargetConfig + // + this.gcTargetConfig.Controls.Add(this.layoutControl2); + this.gcTargetConfig.Location = new System.Drawing.Point(3, 3); + this.gcTargetConfig.Name = "gcTargetConfig"; + this.gcTargetConfig.Size = new System.Drawing.Size(797, 55); + this.gcTargetConfig.TabIndex = 6; + this.gcTargetConfig.Text = "Target Config"; + // + // layoutControl2 + // + this.layoutControl2.AllowCustomization = false; + this.layoutControl2.Controls.Add(this.lbStatus); + this.layoutControl2.Controls.Add(this.lbTargetInfo); + this.layoutControl2.Controls.Add(this.btnConfig); + this.layoutControl2.Controls.Add(this.btnStart); + this.layoutControl2.Controls.Add(this.lbTarget); + this.layoutControl2.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl2.Location = new System.Drawing.Point(2, 23); + this.layoutControl2.Name = "layoutControl2"; + this.layoutControl2.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(932, 307, 250, 350); + this.layoutControl2.Root = this.layoutControlGroup2; + this.layoutControl2.Size = new System.Drawing.Size(793, 30); + this.layoutControl2.TabIndex = 0; + this.layoutControl2.Text = "layoutControl2"; + // + // lbStatus + // + this.lbStatus.Appearance.Font = new System.Drawing.Font("Tahoma", 11.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbStatus.Appearance.Options.UseFont = true; + this.lbStatus.Appearance.Options.UseTextOptions = true; + this.lbStatus.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.lbStatus.Location = new System.Drawing.Point(526, 4); + this.lbStatus.Name = "lbStatus"; + this.lbStatus.Size = new System.Drawing.Size(77, 22); + this.lbStatus.StyleController = this.layoutControl2; + this.lbStatus.TabIndex = 9; + this.lbStatus.Text = "STOP"; + // + // lbTargetInfo + // + this.lbTargetInfo.Appearance.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbTargetInfo.Appearance.Options.UseFont = true; + this.lbTargetInfo.Location = new System.Drawing.Point(78, 4); + this.lbTargetInfo.Name = "lbTargetInfo"; + this.lbTargetInfo.Size = new System.Drawing.Size(444, 22); + this.lbTargetInfo.StyleController = this.layoutControl2; + this.lbTargetInfo.TabIndex = 8; + // + // btnConfig + // + this.btnConfig.Location = new System.Drawing.Point(607, 4); + this.btnConfig.Name = "btnConfig"; + this.btnConfig.Size = new System.Drawing.Size(89, 22); + this.btnConfig.StyleController = this.layoutControl2; + this.btnConfig.TabIndex = 7; + this.btnConfig.Text = "CONFIG"; + this.btnConfig.Click += new System.EventHandler(this.btnConfig_Click); + // + // btnStart + // + this.btnStart.Location = new System.Drawing.Point(700, 4); + this.btnStart.Name = "btnStart"; + this.btnStart.Size = new System.Drawing.Size(89, 22); + this.btnStart.StyleController = this.layoutControl2; + this.btnStart.TabIndex = 6; + this.btnStart.Text = "START"; + this.btnStart.Click += new System.EventHandler(this.btnStart_Click); + // + // lbTarget + // + this.lbTarget.Appearance.Options.UseTextOptions = true; + this.lbTarget.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.lbTarget.Location = new System.Drawing.Point(4, 4); + this.lbTarget.Name = "lbTarget"; + this.lbTarget.Size = new System.Drawing.Size(70, 22); + this.lbTarget.StyleController = this.layoutControl2; + this.lbTarget.TabIndex = 4; + this.lbTarget.Text = "Target"; + // + // layoutControlGroup2 + // + this.layoutControlGroup2.CustomizationFormText = "layoutControlGroup1"; + this.layoutControlGroup2.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup2.GroupBordersVisible = false; + this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem2, + this.layoutControlItem4, + this.layoutControlItem3, + this.layoutControlItem5, + this.layoutControlItem6}); + this.layoutControlGroup2.Name = "Root"; + this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2); + this.layoutControlGroup2.Size = new System.Drawing.Size(793, 30); + this.layoutControlGroup2.TextVisible = false; + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.lbTarget; + this.layoutControlItem2.CustomizationFormText = "layoutControlItem2"; + this.layoutControlItem2.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem2.MaxSize = new System.Drawing.Size(74, 0); + this.layoutControlItem2.MinSize = new System.Drawing.Size(74, 18); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(74, 26); + this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // layoutControlItem4 + // + this.layoutControlItem4.Control = this.btnStart; + this.layoutControlItem4.CustomizationFormText = "layoutControlItem4"; + this.layoutControlItem4.Location = new System.Drawing.Point(696, 0); + this.layoutControlItem4.MinSize = new System.Drawing.Size(53, 26); + this.layoutControlItem4.Name = "layoutControlItem4"; + this.layoutControlItem4.Size = new System.Drawing.Size(93, 26); + this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem4.TextVisible = false; + // + // layoutControlItem3 + // + this.layoutControlItem3.Control = this.btnConfig; + this.layoutControlItem3.CustomizationFormText = "layoutControlItem3"; + this.layoutControlItem3.Location = new System.Drawing.Point(603, 0); + this.layoutControlItem3.MinSize = new System.Drawing.Size(57, 26); + this.layoutControlItem3.Name = "layoutControlItem3"; + this.layoutControlItem3.Size = new System.Drawing.Size(93, 26); + this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem3.TextVisible = false; + // + // layoutControlItem5 + // + this.layoutControlItem5.Control = this.lbTargetInfo; + this.layoutControlItem5.CustomizationFormText = "layoutControlItem5"; + this.layoutControlItem5.Location = new System.Drawing.Point(74, 0); + this.layoutControlItem5.MinSize = new System.Drawing.Size(74, 18); + this.layoutControlItem5.Name = "layoutControlItem5"; + this.layoutControlItem5.Size = new System.Drawing.Size(448, 26); + this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem5.TextVisible = false; + // + // layoutControlItem6 + // + this.layoutControlItem6.Control = this.lbStatus; + this.layoutControlItem6.CustomizationFormText = "layoutControlItem6"; + this.layoutControlItem6.Location = new System.Drawing.Point(522, 0); + this.layoutControlItem6.MinSize = new System.Drawing.Size(74, 18); + this.layoutControlItem6.Name = "layoutControlItem6"; + this.layoutControlItem6.Size = new System.Drawing.Size(81, 26); + this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem6.TextVisible = false; + // + // layoutControlGroup1 + // + this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1"; + this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup1.GroupBordersVisible = false; + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem1}); + this.layoutControlGroup1.Name = "layoutControlGroup1"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup1.Size = new System.Drawing.Size(803, 61); + this.layoutControlGroup1.TextVisible = false; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.gcTargetConfig; + this.layoutControlItem1.CustomizationFormText = "layoutControlItem1"; + this.layoutControlItem1.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(801, 59); + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // ucTargetControl + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.layoutControl1); + this.Name = "ucTargetControl"; + this.Size = new System.Drawing.Size(803, 61); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.gcTargetConfig)).EndInit(); + this.gcTargetConfig.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).EndInit(); + this.layoutControl2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraEditors.GroupControl gcTargetConfig; + private DevExpress.XtraLayout.LayoutControl layoutControl2; + private DevExpress.XtraEditors.LabelControl lbTargetInfo; + private DevExpress.XtraEditors.SimpleButton btnConfig; + private DevExpress.XtraEditors.SimpleButton btnStart; + private DevExpress.XtraEditors.LabelControl lbTarget; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraEditors.LabelControl lbStatus; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6; + } +} diff --git a/LFP_Manager/Controls/ucTargetControl.cs b/LFP_Manager/Controls/ucTargetControl.cs new file mode 100644 index 0000000..1e9586f --- /dev/null +++ b/LFP_Manager/Controls/ucTargetControl.cs @@ -0,0 +1,119 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Text; +using System.Linq; +using System.Windows.Forms; +using DevExpress.XtraEditors; + +using LFP_Manager.Forms; +using LFP_Manager.DataStructure; +using LFP_Manager.Function; + +namespace LFP_Manager.Controls +{ + public partial class ucTargetControl : DevExpress.XtraEditors.XtraUserControl + { + public delegate void ButtonEvent(object sender, EventArgs e); + + #region VARIABLES + + public event ButtonEvent OnConfig = null; + public event ButtonEvent OnStart = null; + + #endregion + + #region CONSTRUCTORS + + public ucTargetControl() + { + InitializeComponent(); + + lbStatus.Appearance.ForeColor = System.Drawing.Color.Red; + } + + #endregion + + #region UPDATE DATA + + public void UpdateConfig(ref CommConfig Config) + { + string info = ""; + + switch (Config.CommType) + { + case csConstData.CommType.COMM_UART: + if (Config.UartModelIndex >= csConstData.UART_MODEL.Length) + { + Config.UartModelIndex = 0; + } + info = String.Format("INTERFACE: RS-232 - {0}, MODEL: {1}" //, M-QTY: {2}, PROTOCOL: {2}" + , Config.UartPort + , csConstData.UART_MODEL[Config.UartModelIndex] + ); + break; + case csConstData.CommType.COMM_RS485: + if (Config.UartModelIndex >= csConstData.UART_MODEL.Length) + { + Config.UartModelIndex = 0; + } + info = String.Format("INTERFACE: RS-485 - {0}, MODEL: {1}" //, M-QTY: {2}, PROTOCOL: {2}" + , Config.UartPort + , csConstData.UART_MODEL[Config.UartModelIndex] + ); + break; + case csConstData.CommType.COMM_SNMP: + if (Config.SnmpModelIndex >= csConstData.UART_MODEL.Length) + { + Config.SnmpModelIndex = 0; + } + info = String.Format("INTERFACE: SNMP - {0}, MODEL: {1}" //, M-QTY: {2}, PROTOCOL: {2}" + , Config.SnmpIP + , csConstData.UART_MODEL[Config.SnmpModelIndex] + ); + break; + default: + break; + } + + lbTargetInfo.Text = info; + } + + public void UpdateStatus(bool flag) + { + if (flag) + { + btnConfig.Enabled = false; + btnStart.Text = "STOP"; + + lbStatus.Text = "RUN"; + lbStatus.Appearance.ForeColor = System.Drawing.Color.Blue; + } + else + { + btnConfig.Enabled = true; + btnStart.Text = "START"; + + lbStatus.Text = "STOP"; + lbStatus.Appearance.ForeColor = System.Drawing.Color.Red; + } + } + #endregion + + #region BUTTON EVENT + + private void btnConfig_Click(object sender, EventArgs e) + { + OnConfig?.Invoke(sender, e); + } + + private void btnStart_Click(object sender, EventArgs e) + { + OnStart?.Invoke(sender, e); + } + + #endregion + } +} diff --git a/LFP_Manager/Controls/ucTargetControl.resx b/LFP_Manager/Controls/ucTargetControl.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/LFP_Manager/Controls/ucTargetControl.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/LFP_Manager/Controls/ucTftpClientcs.Designer.cs b/LFP_Manager/Controls/ucTftpClientcs.Designer.cs new file mode 100644 index 0000000..a829d32 --- /dev/null +++ b/LFP_Manager/Controls/ucTftpClientcs.Designer.cs @@ -0,0 +1,386 @@ +namespace LFP_Manager.Controls +{ + partial class ucTftpClientcs + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.groupFwUpdate = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.btnSystemReset = new DevExpress.XtraEditors.SimpleButton(); + this.btnReset = new DevExpress.XtraEditors.SimpleButton(); + this.btnDownload = new DevExpress.XtraEditors.SimpleButton(); + this.lbDownloadStatus = new DevExpress.XtraEditors.LabelControl(); + this.btnFindFile = new DevExpress.XtraEditors.SimpleButton(); + this.teFilename = new DevExpress.XtraEditors.TextEdit(); + this.progressDownload = new DevExpress.XtraEditors.ProgressBarControl(); + this.lbFilename = new DevExpress.XtraEditors.LabelControl(); + this.lbDeviceInfo = new DevExpress.XtraEditors.LabelControl(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem(); + ((System.ComponentModel.ISupportInitialize)(this.groupFwUpdate)).BeginInit(); + this.groupFwUpdate.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.teFilename.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.progressDownload.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit(); + this.SuspendLayout(); + // + // groupFwUpdate + // + this.groupFwUpdate.Controls.Add(this.layoutControl1); + this.groupFwUpdate.Dock = System.Windows.Forms.DockStyle.Fill; + this.groupFwUpdate.Location = new System.Drawing.Point(0, 0); + this.groupFwUpdate.Name = "groupFwUpdate"; + this.groupFwUpdate.Size = new System.Drawing.Size(462, 242); + this.groupFwUpdate.TabIndex = 0; + this.groupFwUpdate.Text = "Firmware Update"; + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.btnSystemReset); + this.layoutControl1.Controls.Add(this.btnReset); + this.layoutControl1.Controls.Add(this.btnDownload); + this.layoutControl1.Controls.Add(this.lbDownloadStatus); + this.layoutControl1.Controls.Add(this.btnFindFile); + this.layoutControl1.Controls.Add(this.teFilename); + this.layoutControl1.Controls.Add(this.progressDownload); + this.layoutControl1.Controls.Add(this.lbFilename); + this.layoutControl1.Controls.Add(this.lbDeviceInfo); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(2, 23); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(756, 30, 250, 350); + this.layoutControl1.Root = this.layoutControlGroup1; + this.layoutControl1.Size = new System.Drawing.Size(458, 217); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // btnSystemReset + // + this.btnSystemReset.Location = new System.Drawing.Point(3, 185); + this.btnSystemReset.Name = "btnSystemReset"; + this.btnSystemReset.Size = new System.Drawing.Size(140, 29); + this.btnSystemReset.StyleController = this.layoutControl1; + this.btnSystemReset.TabIndex = 14; + this.btnSystemReset.Text = "System Reset"; + this.btnSystemReset.Click += new System.EventHandler(this.btnLcdHistoryDelete_Click); + // + // btnReset + // + this.btnReset.Location = new System.Drawing.Point(354, 185); + this.btnReset.Name = "btnReset"; + this.btnReset.Size = new System.Drawing.Size(101, 29); + this.btnReset.StyleController = this.layoutControl1; + this.btnReset.TabIndex = 13; + this.btnReset.Text = "RBMS Reset"; + this.btnReset.Click += new System.EventHandler(this.btnReset_Click); + // + // btnDownload + // + this.btnDownload.Enabled = false; + this.btnDownload.Location = new System.Drawing.Point(366, 35); + this.btnDownload.Name = "btnDownload"; + this.btnDownload.Size = new System.Drawing.Size(89, 22); + this.btnDownload.StyleController = this.layoutControl1; + this.btnDownload.TabIndex = 12; + this.btnDownload.Text = "Update"; + this.btnDownload.Click += new System.EventHandler(this.btnDownload_Click); + // + // lbDownloadStatus + // + this.lbDownloadStatus.Appearance.Options.UseTextOptions = true; + this.lbDownloadStatus.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.lbDownloadStatus.AutoSizeMode = DevExpress.XtraEditors.LabelAutoSizeMode.None; + this.lbDownloadStatus.Location = new System.Drawing.Point(3, 102); + this.lbDownloadStatus.Name = "lbDownloadStatus"; + this.lbDownloadStatus.Size = new System.Drawing.Size(452, 79); + this.lbDownloadStatus.StyleController = this.layoutControl1; + this.lbDownloadStatus.TabIndex = 9; + this.lbDownloadStatus.Text = "None"; + // + // btnFindFile + // + this.btnFindFile.Location = new System.Drawing.Point(273, 35); + this.btnFindFile.Name = "btnFindFile"; + this.btnFindFile.Size = new System.Drawing.Size(89, 22); + this.btnFindFile.StyleController = this.layoutControl1; + this.btnFindFile.TabIndex = 8; + this.btnFindFile.Text = "Find..."; + this.btnFindFile.Click += new System.EventHandler(this.btnFindFile_Click); + // + // teFilename + // + this.teFilename.Location = new System.Drawing.Point(105, 35); + this.teFilename.Name = "teFilename"; + this.teFilename.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.teFilename.Properties.Appearance.Options.UseFont = true; + this.teFilename.Size = new System.Drawing.Size(164, 22); + this.teFilename.StyleController = this.layoutControl1; + this.teFilename.TabIndex = 7; + // + // progressDownload + // + this.progressDownload.Location = new System.Drawing.Point(3, 61); + this.progressDownload.Name = "progressDownload"; + this.progressDownload.Size = new System.Drawing.Size(452, 37); + this.progressDownload.StyleController = this.layoutControl1; + this.progressDownload.TabIndex = 6; + // + // lbFilename + // + this.lbFilename.Location = new System.Drawing.Point(3, 35); + this.lbFilename.Name = "lbFilename"; + this.lbFilename.Size = new System.Drawing.Size(98, 22); + this.lbFilename.StyleController = this.layoutControl1; + this.lbFilename.TabIndex = 5; + this.lbFilename.Text = " Filename"; + // + // lbDeviceInfo + // + this.lbDeviceInfo.Location = new System.Drawing.Point(3, 3); + this.lbDeviceInfo.Name = "lbDeviceInfo"; + this.lbDeviceInfo.Size = new System.Drawing.Size(452, 28); + this.lbDeviceInfo.StyleController = this.layoutControl1; + this.lbDeviceInfo.TabIndex = 4; + this.lbDeviceInfo.Text = " Device Information"; + // + // layoutControlGroup1 + // + this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1"; + this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup1.GroupBordersVisible = false; + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem1, + this.layoutControlItem2, + this.layoutControlItem3, + this.emptySpaceItem1, + this.layoutControlItem4, + this.layoutControlItem5, + this.layoutControlItem6, + this.layoutControlItem9, + this.layoutControlItem7, + this.layoutControlItem8}); + this.layoutControlGroup1.Name = "layoutControlGroup1"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup1.Size = new System.Drawing.Size(458, 217); + this.layoutControlGroup1.TextVisible = false; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.lbDeviceInfo; + this.layoutControlItem1.CustomizationFormText = "layoutControlItem1"; + this.layoutControlItem1.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem1.MinSize = new System.Drawing.Size(74, 18); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(456, 32); + this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.lbFilename; + this.layoutControlItem2.CustomizationFormText = "layoutControlItem2"; + this.layoutControlItem2.Location = new System.Drawing.Point(0, 32); + this.layoutControlItem2.MaxSize = new System.Drawing.Size(102, 0); + this.layoutControlItem2.MinSize = new System.Drawing.Size(102, 18); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(102, 26); + this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // layoutControlItem3 + // + this.layoutControlItem3.Control = this.progressDownload; + this.layoutControlItem3.CustomizationFormText = "layoutControlItem3"; + this.layoutControlItem3.Location = new System.Drawing.Point(0, 58); + this.layoutControlItem3.MinSize = new System.Drawing.Size(54, 16); + this.layoutControlItem3.Name = "layoutControlItem3"; + this.layoutControlItem3.Size = new System.Drawing.Size(456, 41); + this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem3.TextVisible = false; + // + // emptySpaceItem1 + // + this.emptySpaceItem1.AllowHotTrack = false; + this.emptySpaceItem1.CustomizationFormText = "emptySpaceItem1"; + this.emptySpaceItem1.Location = new System.Drawing.Point(144, 182); + this.emptySpaceItem1.MinSize = new System.Drawing.Size(104, 24); + this.emptySpaceItem1.Name = "emptySpaceItem1"; + this.emptySpaceItem1.Size = new System.Drawing.Size(207, 33); + this.emptySpaceItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlItem4 + // + this.layoutControlItem4.Control = this.teFilename; + this.layoutControlItem4.CustomizationFormText = "layoutControlItem4"; + this.layoutControlItem4.Location = new System.Drawing.Point(102, 32); + this.layoutControlItem4.MaxSize = new System.Drawing.Size(0, 26); + this.layoutControlItem4.MinSize = new System.Drawing.Size(54, 26); + this.layoutControlItem4.Name = "layoutControlItem4"; + this.layoutControlItem4.Size = new System.Drawing.Size(168, 26); + this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem4.TextVisible = false; + // + // layoutControlItem5 + // + this.layoutControlItem5.Control = this.btnFindFile; + this.layoutControlItem5.CustomizationFormText = "layoutControlItem5"; + this.layoutControlItem5.Location = new System.Drawing.Point(270, 32); + this.layoutControlItem5.MinSize = new System.Drawing.Size(93, 26); + this.layoutControlItem5.Name = "layoutControlItem5"; + this.layoutControlItem5.Size = new System.Drawing.Size(93, 26); + this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem5.TextVisible = false; + // + // layoutControlItem6 + // + this.layoutControlItem6.Control = this.lbDownloadStatus; + this.layoutControlItem6.CustomizationFormText = "layoutControlItem6"; + this.layoutControlItem6.Location = new System.Drawing.Point(0, 99); + this.layoutControlItem6.MinSize = new System.Drawing.Size(74, 18); + this.layoutControlItem6.Name = "layoutControlItem6"; + this.layoutControlItem6.Size = new System.Drawing.Size(456, 83); + this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem6.TextVisible = false; + // + // layoutControlItem9 + // + this.layoutControlItem9.Control = this.btnDownload; + this.layoutControlItem9.CustomizationFormText = "layoutControlItem9"; + this.layoutControlItem9.Location = new System.Drawing.Point(363, 32); + this.layoutControlItem9.MinSize = new System.Drawing.Size(93, 26); + this.layoutControlItem9.Name = "layoutControlItem9"; + this.layoutControlItem9.Size = new System.Drawing.Size(93, 26); + this.layoutControlItem9.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem9.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem9.TextVisible = false; + // + // layoutControlItem7 + // + this.layoutControlItem7.Control = this.btnReset; + this.layoutControlItem7.CustomizationFormText = "layoutControlItem7"; + this.layoutControlItem7.Location = new System.Drawing.Point(351, 182); + this.layoutControlItem7.MinSize = new System.Drawing.Size(93, 26); + this.layoutControlItem7.Name = "layoutControlItem7"; + this.layoutControlItem7.Size = new System.Drawing.Size(105, 33); + this.layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem7.TextVisible = false; + // + // layoutControlItem8 + // + this.layoutControlItem8.Control = this.btnSystemReset; + this.layoutControlItem8.CustomizationFormText = "layoutControlItem8"; + this.layoutControlItem8.Location = new System.Drawing.Point(0, 182); + this.layoutControlItem8.MinSize = new System.Drawing.Size(93, 26); + this.layoutControlItem8.Name = "layoutControlItem8"; + this.layoutControlItem8.Size = new System.Drawing.Size(144, 33); + this.layoutControlItem8.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem8.TextVisible = false; + // + // ucTftpClientcs + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.groupFwUpdate); + this.Name = "ucTftpClientcs"; + this.Size = new System.Drawing.Size(462, 242); + ((System.ComponentModel.ISupportInitialize)(this.groupFwUpdate)).EndInit(); + this.groupFwUpdate.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.teFilename.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.progressDownload.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraEditors.GroupControl groupFwUpdate; + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraEditors.SimpleButton btnFindFile; + private DevExpress.XtraEditors.TextEdit teFilename; + private DevExpress.XtraEditors.ProgressBarControl progressDownload; + private DevExpress.XtraEditors.LabelControl lbFilename; + private DevExpress.XtraEditors.LabelControl lbDeviceInfo; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5; + private DevExpress.XtraEditors.LabelControl lbDownloadStatus; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6; + private DevExpress.XtraEditors.SimpleButton btnDownload; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9; + private DevExpress.XtraEditors.SimpleButton btnReset; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7; + private DevExpress.XtraEditors.SimpleButton btnSystemReset; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8; + } +} diff --git a/LFP_Manager/Controls/ucTftpClientcs.cs b/LFP_Manager/Controls/ucTftpClientcs.cs new file mode 100644 index 0000000..a5c1c19 --- /dev/null +++ b/LFP_Manager/Controls/ucTftpClientcs.cs @@ -0,0 +1,256 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Text; +using System.Linq; +using System.Windows.Forms; +using DevExpress.XtraEditors; + +using System.Threading; +using System.Net; +using System.IO; +using Tftp.Net; + +using LFP_Manager.Utils; +using LFP_Manager.DataStructure; + +namespace LFP_Manager.Controls +{ + public delegate void ResetEvent(object sender, int mode, UInt32 value); + + public partial class ucTftpClientcs : DevExpress.XtraEditors.XtraUserControl + { + #region CONST + + const string BMCB_FILE_NAME = "App.bin"; + const string mBMS_FILE_NAME = "mBMS_APP_DL.bin"; + + #endregion + + #region VARIABLES + + int ID = 0; + string hostIP = ""; + byte[] RbmsVersion; + string TarGetFileName = ""; + + int transferedBytes = 0; + + public event ResetEvent OnReset = null; + + #endregion + + #region CONSTRUCTOR + + public ucTftpClientcs() + { + InitializeComponent(); + + TarGetFileName = "APP.BIN"; + } + + #endregion + + #region RESET EVENT + + private void OnResetEvent(object sender, int mode, UInt16 value) + { + if (OnReset != null) + { + OnReset(sender, mode, value); + } + } + + #endregion + + #region INFORMATION UPDATE + + public void UpdateInfor(int sid, string IpAddr, byte[] fwVersion) + { + ID = sid; + hostIP = IpAddr; + RbmsVersion = fwVersion; + + lbDeviceInfo.Text = String.Format(" RBMS ID: {0} IP: {1}" + , sid + 1 + , hostIP + ); + } + + #endregion + + #region TFTP FUNCTION + + public void FwDownload(string host, string filename) + { + //Setup a TftpClient instance + TftpClient client = new TftpClient(host); + ITftpTransfer transfer = client.Upload(TarGetFileName); + + transfer.RetryTimeout = TimeSpan.FromMilliseconds(500); + transfer.RetryCount = 3; + transfer.TransferMode = TftpTransferMode.octet; + + //Capture the events that may happen during the transfer + transfer.OnProgress += new TftpProgressHandler(transfer_OnProgress); + transfer.OnFinished += new TftpEventHandler(transfer_OnFinshed); + transfer.OnError += new TftpErrorHandler(transfer_OnError); + + //Start the transfer and write the data that we're downloading into a memory stream + FileStream upLoadFile = new FileStream(teFilename.Text, FileMode.Open); + progressDownload.Properties.Maximum = (int)(upLoadFile.Length / 1024); + transfer.Start(upLoadFile); + } + + void transfer_OnProgress(ITftpTransfer transfer, TftpTransferProgress progress) + { + string msg = String.Format("Transfer running. Progress: " + progress); + transferedBytes = progress.TransferredBytes / 1024; + + TftpMsgProcess(msg, 0); + } + + void transfer_OnError(ITftpTransfer transfer, TftpTransferError error) + { + string msg = String.Format("Transfer failed: " + error); + + TftpMsgProcess(msg, 2); + } + + void transfer_OnFinshed(ITftpTransfer transfer) + { + string msg = String.Format("Transfer succeeded."); + + TftpMsgProcess(msg, 1); + } + + private void TftpMsgProcess(string msg, int msgType) + { + if (this.InvokeRequired) + { + this.Invoke(new MethodInvoker(delegate() + { + lbDownloadStatus.Text = msg; + if (msgType == 0) + { + // transfer progress + progressDownload.Position = transferedBytes; + } + else if (msgType == 1) + { + progressDownload.Position = transferedBytes; + MessageBox.Show(msg, "Result", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + else if (msgType == 2) + { + MessageBox.Show(msg, "Result", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + })); + } + else + { + lbDownloadStatus.Text = msg; + if (msgType == 0) + { + // transfer progress + progressDownload.Position = transferedBytes; + } + else if (msgType == 1) + { + progressDownload.Position = transferedBytes; + MessageBox.Show(msg, "Result", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + else if (msgType == 2) + { + MessageBox.Show(msg, "Result", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } + + #endregion + + #region BUTTON EVENT + + private void btnFindFile_Click(object sender, EventArgs e) + { + OpenFileDialog fwOpenFile; + + fwOpenFile = new OpenFileDialog(); + + if (fwOpenFile.ShowDialog() == DialogResult.OK) + { + teFilename.Text = fwOpenFile.FileName; + + byte[] bName = csUtils.StringToByte(Path.GetFileName(teFilename.Text)); + if ((bName[0] == (byte)'B') + && (bName[1] == (byte)'M') + && (bName[2] == (byte)'C') + && (bName[3] == (byte)'B') + ) + { + TarGetFileName = BMCB_FILE_NAME; + } + else if ((bName[0] == (byte)'m') + && (bName[1] == (byte)'B') + && (bName[2] == (byte)'M') + && (bName[3] == (byte)'S') + ) + { + TarGetFileName = mBMS_FILE_NAME; + } + + if (TarGetFileName != "") + lbDownloadStatus.Text = TarGetFileName; + + btnDownload.Enabled = true; + } + } + + private void btnDownload_Click(object sender, EventArgs e) + { + if ((hostIP != "")&&(teFilename.Text != "")) + { + FwDownload(hostIP, teFilename.Text); + } + } + + #endregion + + #region RBMS RESET EVENT + + private void btnReset_Click(object sender, EventArgs e) + { + OnResetEvent(this, 1, csConstData.ResetCommandFlag.SystemReset); + } + + private void btnLcdHistoryDelete_Click(object sender, EventArgs e) + { + OnResetEvent(this, 1, csConstData.ResetCommandFlag.SystemResetAll); + } + + public void Reset_Result(string result, bool error) + { + if (this.InvokeRequired) + { + this.Invoke(new MethodInvoker(delegate() + { + if (error) + MessageBox.Show(result, "Result", MessageBoxButtons.OK, MessageBoxIcon.Error); + else + MessageBox.Show(result, "Result", MessageBoxButtons.OK, MessageBoxIcon.Information); + })); + } + else + { + if (error) + MessageBox.Show(result, "Result", MessageBoxButtons.OK, MessageBoxIcon.Error); + else + MessageBox.Show(result, "Result", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + } + + #endregion + } +} diff --git a/LFP_Manager/Controls/ucTftpClientcs.resx b/LFP_Manager/Controls/ucTftpClientcs.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/LFP_Manager/Controls/ucTftpClientcs.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/LFP_Manager/DB Schema/DB_SCHEMA_TABLE.sql b/LFP_Manager/DB Schema/DB_SCHEMA_TABLE.sql new file mode 100644 index 0000000..f845b66 --- /dev/null +++ b/LFP_Manager/DB Schema/DB_SCHEMA_TABLE.sql @@ -0,0 +1,49 @@ +/* + * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + * Table Name : TInventoryData + * Description : BMS Inventory Data + * createAt : 2020.12.02 + * createBy : JK.Woo + * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + */ +drop table if exists TInventoryData; +--drop sequence if exists inventory_data_seq; + +--create sequence inventory_data_seq start 1; + +create table TInventoryData +( + manufacture_date integer not null , + pcb_sn varchar(20) not null , + module_sn varchar(32) null , + create_date timestamp not null , + modify_date timestamp not null , + + primary key (pcb_sn) +); +create index inventory_data_idx1 on TInventoryData (pcb_sn); +create index inventory_data_idx2 on TInventoryData (module_sn); + +/* + * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + * Table Name : TErrorLogTable + * Description : Error Message Log Table + * createAt : 2019.11.04 + * createBy : JK.Woo + * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + */ +drop table if exists TErrorLogTable; +--drop sequence if exists module_group_seq; + +--create sequence module_group_seq start 1; + +create table TErrorLogTable +( + create_date timestamp not null , + pcb_sn varchar(20) not null , + module_sn varchar(32) null , + PROCESS varchar(20) not null , + ERROR_TYPE varchar(100) not null , + ERROR_MSG varchar(200) not null +); + diff --git a/LFP_Manager/DB Schema/LOG_DB_SCHEMA_TABLE.sql b/LFP_Manager/DB Schema/LOG_DB_SCHEMA_TABLE.sql new file mode 100644 index 0000000..5056b4d --- /dev/null +++ b/LFP_Manager/DB Schema/LOG_DB_SCHEMA_TABLE.sql @@ -0,0 +1,58 @@ +/********************************** BATTERY VALUE TABLE **************************************************/ + +/* + * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + * Table Name : TModuleValue + * Description : Battery Module Value and Status Table + * createAt : 2021.03.04 + * createBy : JK.Woo + * ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + */ +drop table if exists TModuleValue; + +create table TModuleValue +( + create_date timestamp not null , + module_no smallint not null , + model_name varchar(32) null , + module_sn varchar(32) null , + fw_ver varchar(10) null , -- "V2.4.1.4" + comm_fail BOOLEAN null , + op_status smallint null , + alarm_status smallint null , + warning smallint null , + fault smallint null , + module_voltage NUMERIC null , + module_current NUMERIC null , + module_soc NUMERIC null , + module_soh NUMERIC null , + module_cyclecount NUMERIC null , + cv_diff NUMERIC null , + cell_voltage_01 NUMERIC null , + cell_voltage_02 NUMERIC null , + cell_voltage_03 NUMERIC null , + cell_voltage_04 NUMERIC null , + cell_voltage_05 NUMERIC null , + cell_voltage_06 NUMERIC null , + cell_voltage_07 NUMERIC null , + cell_voltage_08 NUMERIC null , + cell_voltage_09 NUMERIC null , + cell_voltage_10 NUMERIC null , + cell_voltage_11 NUMERIC null , + cell_voltage_12 NUMERIC null , + cell_voltage_13 NUMERIC null , + cell_voltage_14 NUMERIC null , + cell_voltage_15 NUMERIC null , + tp_diff NUMERIC null , + temperature_01 NUMERIC null , + temperature_02 NUMERIC null , + temperature_03 NUMERIC null , + temperature_04 NUMERIC null , + ext1_temp NUMERIC null , + ext2_temp NUMERIC null , + chg_option smallint null , + + primary key (create_date, module_no) +); + +create index ModuleValue_data_idx1 on TModuleValue (create_date); diff --git a/LFP_Manager/DataStructure/CsDeviceAlarmDefine.cs b/LFP_Manager/DataStructure/CsDeviceAlarmDefine.cs new file mode 100644 index 0000000..c482b0c --- /dev/null +++ b/LFP_Manager/DataStructure/CsDeviceAlarmDefine.cs @@ -0,0 +1,175 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace LFP_Manager.DataStructure +{ + internal class CsAlarmDefine + { + //0x0001:Pack OV + //0x0002:Cell OV + //0x0004:Pack UV + //0x0008:Cell UV + //0x0010:Charge OC + //0x0020:Discharge OC + //0x0040: 环境温度异常 + //0x0080: MOS温度高 + //0x0100:Charge OT + //0x0200:Discharge OT + //0x0400:Charge UT + //0x0800:Discharge UT + //0x1000:Low capacity + //0x2000: 浮充停止/Float Stoped + //0x4000: + + public enum eGuiWarningBit + { + PACK_OV = 0, + CELL_OV = 1, + PACK_UV = 2, + CELL_UV = 3, + CHG_OC = 4, + DCH_OC = 5, + AMB_OT = 6, + MOS_OT = 7, + CHG_OT = 8, + DCH_OT = 9, + CHG_UT = 10, + DCH_UT = 11, + LOW_SOC = 12, + DIFF_VOLT = 13, + CB_OFF = 14, + } + public enum eGuiProtectBit + { + PACK_OV = 0, + CELL_OV = 1, + PACK_UV = 2, + CELL_UV = 3, + CHG_OC = 4, + DCH_OC = 5, + AMB_OT = 6, + MOS_OT = 7, + CHG_OT = 8, + DCH_OT = 9, + CHG_UT = 10, + DCH_UT = 11, + LOW_SOC = 12, + SC = 13, + } + public enum eDevWarningBit + { + CELL_OV = 0, + CELL_UV = 1, + PACK_OV = 2, + PACK_UV = 3, + CHG_OC = 4, + DCH_OC = 5, + AMB_OT = 6, + AMB_UT = 7, + CHG_OT = 8, + CHG_UT = 9, + DCH_OT = 10, + DCH_UT = 11, + LOW_SOC = 12, + DIFF_VOLT = 13, + CB_OFF = 14, + } + public enum eDevProtectBit + { + CELL_OV = 0, + PACK_OV = 1, + CELL_UV = 2, + PACK_UV = 3, + CHG_OC1 = 4, + CHG_OC2 = 5, + DCH_OC1 = 6, + DCH_OC2 = 7, + SC_CB = 8, + CHG_OT = 9, + CHG_UT = 10, + DCH_OT = 11, + DCH_UT = 12, + } + + private static bool HasBit(int value, int bitIndex) => (value & (1 << bitIndex)) != 0; + private static void SetBit(ref int value, int bitIndex) => value |= (1 << bitIndex); + private static void SetIf(int src, int srcBit, ref int dst, int dstBit) + { + if (HasBit(src, srcBit)) SetBit(ref dst, dstBit); + } + private static void SetIfAny(int src, int[] srcBits, ref int dst, int dstBit) + { + foreach (var b in srcBits) + { + if (HasBit(src, b)) { SetBit(ref dst, dstBit); break; } + } + } + + /// + /// Device 경고 비트(eDevWarningBit) -> GUI 경고 비트(eGuiWarningBit) + /// AMB_UT는 GUI 경고에 대응 비트가 없어 미표시. + /// 새로 추가된 DIFF_VOLT, CB_OFF 매핑 포함. + /// + public static int DevWarningToGui(int devWarning) + { + int gui = 0; + + SetIf(devWarning, (int)eDevWarningBit.PACK_OV, ref gui, (int)eGuiWarningBit.PACK_OV); + SetIf(devWarning, (int)eDevWarningBit.CELL_OV, ref gui, (int)eGuiWarningBit.CELL_OV); + SetIf(devWarning, (int)eDevWarningBit.PACK_UV, ref gui, (int)eGuiWarningBit.PACK_UV); + SetIf(devWarning, (int)eDevWarningBit.CELL_UV, ref gui, (int)eGuiWarningBit.CELL_UV); + + SetIf(devWarning, (int)eDevWarningBit.CHG_OC, ref gui, (int)eGuiWarningBit.CHG_OC); + SetIf(devWarning, (int)eDevWarningBit.DCH_OC, ref gui, (int)eGuiWarningBit.DCH_OC); + + SetIf(devWarning, (int)eDevWarningBit.AMB_OT, ref gui, (int)eGuiWarningBit.AMB_OT); + //SetIf(devWarning, (int)eDevWarningBit.MOS_OT, ref gui, (int)eGuiWarningBit.MOS_OT); + + SetIf(devWarning, (int)eDevWarningBit.CHG_OT, ref gui, (int)eGuiWarningBit.CHG_OT); + SetIf(devWarning, (int)eDevWarningBit.DCH_OT, ref gui, (int)eGuiWarningBit.DCH_OT); + SetIf(devWarning, (int)eDevWarningBit.CHG_UT, ref gui, (int)eGuiWarningBit.CHG_UT); + SetIf(devWarning, (int)eDevWarningBit.DCH_UT, ref gui, (int)eGuiWarningBit.DCH_UT); + + SetIf(devWarning, (int)eDevWarningBit.LOW_SOC, ref gui, (int)eGuiWarningBit.LOW_SOC); + SetIf(devWarning, (int)eDevWarningBit.DIFF_VOLT, ref gui, (int)eGuiWarningBit.DIFF_VOLT); + SetIf(devWarning, (int)eDevWarningBit.CB_OFF, ref gui, (int)eGuiWarningBit.CB_OFF); + + // AMB_UT는 GUI에 해당 없음 → 미표시 + return gui; + } + + /// + /// Device 보호 비트(eDevProtectBit) -> GUI 보호 비트(eGuiProtectBit) + /// CHG_OC1/2 → CHG_OC 집계, DCH_OC1/2 → DCH_OC 집계 + /// SC_CB(단락/차단기 트립) → SC(신규 GUI 비트) 매핑. + /// + public static int DevProtectToGui(int devProtect) + { + int gui = 0; + + SetIf(devProtect, (int)eDevProtectBit.PACK_OV, ref gui, (int)eGuiProtectBit.PACK_OV); + SetIf(devProtect, (int)eDevProtectBit.CELL_OV, ref gui, (int)eGuiProtectBit.CELL_OV); + SetIf(devProtect, (int)eDevProtectBit.PACK_UV, ref gui, (int)eGuiProtectBit.PACK_UV); + SetIf(devProtect, (int)eDevProtectBit.CELL_UV, ref gui, (int)eGuiProtectBit.CELL_UV); + + SetIfAny(devProtect, new[] { (int)eDevProtectBit.CHG_OC1, (int)eDevProtectBit.CHG_OC2 }, + ref gui, (int)eGuiProtectBit.CHG_OC); + SetIfAny(devProtect, new[] { (int)eDevProtectBit.DCH_OC1, (int)eDevProtectBit.DCH_OC2 }, + ref gui, (int)eGuiProtectBit.DCH_OC); + + // 단락/차단기 트립 → SC + SetIf(devProtect, (int)eDevProtectBit.SC_CB, ref gui, (int)eGuiProtectBit.SC); + + SetIf(devProtect, (int)eDevProtectBit.CHG_OT, ref gui, (int)eGuiProtectBit.CHG_OT); + SetIf(devProtect, (int)eDevProtectBit.CHG_UT, ref gui, (int)eGuiProtectBit.CHG_UT); + SetIf(devProtect, (int)eDevProtectBit.DCH_OT, ref gui, (int)eGuiProtectBit.DCH_OT); + SetIf(devProtect, (int)eDevProtectBit.DCH_UT, ref gui, (int)eGuiProtectBit.DCH_UT); + + // AMB_OT, MOS_OT, LOW_SOC 보호 카테고리는 DevProtectBit에 정의되지 않아 미표시 + return gui; + } + } +} diff --git a/LFP_Manager/DataStructure/CsDeviceData.cs b/LFP_Manager/DataStructure/CsDeviceData.cs new file mode 100644 index 0000000..fd3577c --- /dev/null +++ b/LFP_Manager/DataStructure/CsDeviceData.cs @@ -0,0 +1,1240 @@ +using System; + +namespace LFP_Manager.DataStructure +{ + public class CsDeviceData : IResettable, IDeepCopy + { + public DeviceSystemTotalData TotalData; + public DeviceModuleData[] ModuleData; + + public CsDeviceData() + { + TotalData = new DeviceSystemTotalData(); + ModuleData = new DeviceModuleData[csConstData.SystemInfo.MAX_MODULE_SIZE]; + for (int i = 0; i < ModuleData.Length; i++) + { + ModuleData[i] = new DeviceModuleData(); + } + } + public void Reset() + { + TotalData.Reset(); + for (int i = 0; i < ModuleData.Length; i++) + { + ResetCopyHelpers.ResetOrRecreate(ref ModuleData[i]); + } + } + public CsDeviceData DeepCopy() + { + var copy = (CsDeviceData)MemberwiseClone(); // 스칼라 복사 + copy.TotalData = ResetCopyHelpers.DeepCopyOrNew(TotalData); + for (int i = 0; i < ModuleData.Length; i++) + { + ModuleData[i] = ResetCopyHelpers.DeepCopyOrNew(ModuleData[i]); + } + return copy; + } + + #region TOTAL DATA + public class DeviceSystemTotalData : IResettable, IDeepCopy + { + public bool CommFail; + + public DeviceSystemIdent IdentData; + public DeviceValueTotalData ValueData; + public DeviceStatusTotalData StatusData; + + public DeviceSystemTotalData() + { + IdentData = new DeviceSystemIdent(); + ValueData = new DeviceValueTotalData(); + StatusData = new DeviceStatusTotalData(); + } + public void Reset() + { + CommFail = false; + IdentData.Reset(); + ValueData.Reset(); + StatusData.Reset(); + } + public DeviceSystemTotalData DeepCopy() + { + var copy = (DeviceSystemTotalData)MemberwiseClone(); // 스칼라 복사 + copy.IdentData = IdentData.DeepCopy(); + copy.ValueData = ValueData.DeepCopy(); + copy.StatusData = StatusData.DeepCopy(); + return copy; + } + + public class DeviceSystemIdent : IResettable, IDeepCopy + { + public byte[] fw_ver; + public string FwVerStr; + + public string Manufacturer; + public string DeviceModel; + public int AlarmOutputMode; + + public UInt32 ManufactureDate; + public string SerialNumber; + + public DeviceSystemIdent() + { + fw_ver = new byte[4]; + FwVerStr = ""; + + Manufacturer = ""; + DeviceModel = ""; + + AlarmOutputMode = 0; + ManufactureDate = 0; + SerialNumber = ""; + } + public void Reset() + { + Manufacturer = ""; + DeviceModel = ""; + + Array.Clear(fw_ver, 0, fw_ver.Length); + FwVerStr = ""; + + AlarmOutputMode = 0; + ManufactureDate = 0; + SerialNumber = ""; + } + public DeviceSystemIdent DeepCopy() + { + var copy = (DeviceSystemIdent)MemberwiseClone(); // 스칼라 복사 + copy.fw_ver = (byte[])fw_ver.Clone(); + return copy; + } + } + + public class DeviceValueTotalData : IResettable, IDeepCopy + { + public short TotalVoltage; + public short TotalCurrent; + public short TotalSOC; + public short TotalSOH; + public short TotalTemp; + + public DeviceValueTotalData() + { + TotalVoltage = 0; + TotalCurrent = 0; + TotalSOC = 0; + TotalSOH = 0; + TotalTemp = 0; + } + + public void Reset() + { + TotalVoltage = 0; + TotalCurrent = 0; + TotalSOC = 0; + TotalSOH = 0; + TotalTemp = 0; + } + public DeviceValueTotalData DeepCopy() + { + return (DeviceValueTotalData)MemberwiseClone(); + } + } + + public class DeviceStatusTotalData : IResettable, IDeepCopy + { + public ushort batteryStatus; + public ushort warning; + public ushort protection; + public ushort status; + + public DeviceStatusTotalData() + { + batteryStatus = 0; + warning = 0; + protection = 0; + status = 0; + } + public void Reset() + { + batteryStatus = 0; + warning = 0; + protection = 0; + status = 0; + } + public DeviceStatusTotalData DeepCopy() + { + return (DeviceStatusTotalData)MemberwiseClone(); + } + } + + } + + #endregion + + #region MODULE DATA + public class DeviceModuleData : IResettable, IDeepCopy + { + public bool active; + + public int mNo; + public int cellQty; + public int tempQty; + public int ntcQty; + public int ChargeVoltage; + public int DOD; + public int MaxChaCurrent; + public int MaxDchCurrent; + + public int FloatVoltage; + public int BoostVoltage; + + public int MinChargeTemp; + public int MaxChargeTemp; + + public UInt32 heatbeat; + public bool CommFail; + public bool ShelfCommFail; + public DateTime LastRxTime; + public Int32 BmsDateTimeInt; + public ushort BmsDateTimeShort1; + public ushort BmsDateTimeShort2; + + public DateTimeStruct BmsDateTime; + + public DeviceValueData ValueData; + public DeviceAvgData AvgData; + public DeviceStatusData StatusData; + public DeviceParamData ParamData; + public DeviceCalibration CalibrationData; + public DeviceInforation Information; + public DeviceEtcStatus EtcStatus; + + public DeviceMaxValue MaxValue; + public DeviceGyroValue GyroValue; + + public DeviceModuleData() + { + active = false; + + mNo = 0; + cellQty = 15; + tempQty = 4; + ChargeVoltage = 0; + DOD = 0; + MaxChaCurrent = 0; + MaxDchCurrent = 0; + + heatbeat = 0; + CommFail = false; + ShelfCommFail = false; + LastRxTime = DateTime.MinValue; + BmsDateTimeInt = 0; + BmsDateTimeShort1 = 0; + BmsDateTimeShort2 = 0; + + BmsDateTime = new DateTimeStruct(); + + ValueData = new DeviceValueData(); + AvgData = new DeviceAvgData(); + StatusData = new DeviceStatusData(); + ParamData = new DeviceParamData(); + CalibrationData = new DeviceCalibration(); + Information = new DeviceInforation(); + EtcStatus = new DeviceEtcStatus(); + + MaxValue = new DeviceMaxValue(); + GyroValue = new DeviceGyroValue(); + } + public void Reset() + { + active = false; + + mNo = 0; + cellQty = 15; + tempQty = 4; + ChargeVoltage = 0; + DOD = 0; + MaxChaCurrent = 0; + MaxDchCurrent = 0; + + heatbeat = 0; + CommFail = false; + ShelfCommFail = false; + LastRxTime = DateTime.MinValue; + BmsDateTimeInt = 0; + BmsDateTimeShort1 = 0; + BmsDateTimeShort2 = 0; + + ResetCopyHelpers.ResetOrRecreate(ref BmsDateTime); + ResetCopyHelpers.ResetOrRecreate(ref ValueData); + ResetCopyHelpers.ResetOrRecreate(ref AvgData); + ResetCopyHelpers.ResetOrRecreate(ref ParamData); + ResetCopyHelpers.ResetOrRecreate(ref CalibrationData); + ResetCopyHelpers.ResetOrRecreate(ref Information); + ResetCopyHelpers.ResetOrRecreate(ref EtcStatus); + ResetCopyHelpers.ResetOrRecreate(ref MaxValue); + ResetCopyHelpers.ResetOrRecreate(ref GyroValue); + } + public DeviceModuleData DeepCopy() + { + var copy = (DeviceModuleData)MemberwiseClone(); // 스칼라 복사 + BmsDateTime = ResetCopyHelpers.DeepCopyOrNew(BmsDateTime); + ValueData = ResetCopyHelpers.DeepCopyOrNew(ValueData); + AvgData = ResetCopyHelpers.DeepCopyOrNew(AvgData); + StatusData = ResetCopyHelpers.DeepCopyOrNew(StatusData); + ParamData = ResetCopyHelpers.DeepCopyOrNew(ParamData); + CalibrationData = ResetCopyHelpers.DeepCopyOrNew(CalibrationData); + EtcStatus = ResetCopyHelpers.DeepCopyOrNew(EtcStatus); + MaxValue = ResetCopyHelpers.DeepCopyOrNew(MaxValue); + GyroValue = ResetCopyHelpers.DeepCopyOrNew(GyroValue); + return copy; + } + + public class DateTimeStruct : IResettable, IDeepCopy + { + public int year; + public int month; + public int day; + public int hour; + public int minute; + public int second; + + public string DateTimeStr; + + public DateTimeStruct() + { + DateTimeStr = "-"; + + } + + public void SetDateTimeStr() + { + DateTimeStr = String.Format("{0:D4}-{1:D2}-{2:D2} {3:D2}:{4:D2}:{5:D2}", year, month, day, hour, minute, second); + } + + public DateTime ToDateTime() + { + return new DateTime(year, month, day, hour, minute, second); + } + + public void FromDateTime(DateTime dt) + { + year = dt.Year; + month = dt.Month; + day = dt.Day; + hour = dt.Hour; + minute = dt.Minute; + second = dt.Second; + + SetDateTimeStr(); + } + + public void Reset() + { + year = 0; + month = 0; + day = 0; + hour = 0; + minute = 0; + second = 0; + + DateTimeStr = "-"; + } + + public DateTimeStruct DeepCopy() + { + return (DateTimeStruct)MemberwiseClone(); + } + } + + public class DeviceValueData : IResettable, IDeepCopy + { + public byte[] fw_ver; + public ushort[] CellVoltage; + public short[] CellTemperature; + + public short voltage; + public short current; + public short cha_current; + public short dch_current; + public short averageCurrent; + public short SOC; + public short SOH; + + public short NumOfCells; + public short NumOfTemps; + + public ushort MaxCellVoltage; // mV + public ushort MinCellVoltage; // mV + public ushort DiffCellVoltage; // mV + + public short MosTemperature; + public short AmbTemperature; + public short MaxTemperature; // 1C + public short MinTemperature; // 0.1C + + public int RecMaxBattChgCurrLmt; + + public short remainingCapacity; + public UInt32 cycleCount; + public UInt32 cycleCount_MSB; + public UInt32 cycleCount_LSB; + public UInt32 fullChgCapacity_mAs; + public UInt32 fullChgCapacity_mAs_MSB; + public UInt32 fullChgCapacity_mAs_LSB; + public UInt32 fullChgCapacity_Ah; + public UInt32 TotalBatCapacity_Ah; + public int designedCapacity; + + public UInt32 EstBackupTime; // Minute - Back-up time based on %SoC level and load at + // site(In case of Charging Default load at 0.2C) + + public UInt32 MdCumulativeChgTime; // Hours - Cumulative charge duration + public UInt32 MdCumulativeChgTimeMSB; + public UInt32 MdCumulativeChgTimeLSB; + public UInt32 MdCumulativeDchTime; // Hours - Cumulative discharge duration + public UInt32 MdCumulativeDchTimeMSB; + public UInt32 MdCumulativeDchTimeLSB; + + public ushort ChgCrate; + public ushort DchCrate; + public ushort MdACIR; + + public ushort RemainEnergyLife; // Remaining capacity in battery pack in life cycle + // (13440 - actual cumulative discharge KWH) + public ushort RemainCycles; // Remaining cycle in battery pack in life time + // (3500 - actual cycle consumed) + + public ushort ChgCutOffVolt; + public ushort DchCutOffVolt; + + public ushort BatPowerOnDateYear; // YY + public ushort BatPowerOnDateMonth; // MM + + public int TimeLeft; + + public UInt32 Ah_Charged; + public UInt32 Ah_ChargedMSB; + public UInt32 Ah_ChargedLSB; + public UInt32 Ah_Discharged; + public UInt32 Ah_DischargedMSB; + public UInt32 Ah_DischargedLSB; + + public UInt32 Wh_Charged; + public UInt32 Wh_ChargedMSB; + public UInt32 Wh_ChargedLSB; + public UInt32 Wh_Discharged; + public UInt32 Wh_DischargedMSB; + public UInt32 Wh_DischargedLSB; + + public int NoOfDischargeCycles; + public int NoOfChargeCycles; + + public int ModuleAlarms; + public int ModuleWarnings; + public int ModuleStatus; + public int ModuleVoltage_int; + public int ModBusDocVersion; + + public int ParametersChanged; + public int MaxBattChgCurr; + public int MaxBattDchCurr; + public int ShortCircuitCurrent; + public int ProtectChgCurr; + public int ProtectDchCurr; + + public int BatteryProdDateYear; + public int BatteryProdDateMonth; + public int BatteryProdDateDay; + + public int BatteryModelDescription; + public int BatteryType; + + public DeviceValueData() + { + fw_ver = new byte[6]; + + CellVoltage = new ushort[csConstData.SystemInfo.MAX_MODULE_CELL_SIZE + 1]; + CellTemperature = new short[csConstData.SystemInfo.MAX_MODULE_TEMP_SIZE]; + } + + /// + /// 현재 보유한 버퍼 크기를 유지하면서 모든 값을 0으로 초기화 + /// + public void Reset() + { + // 배열/버퍼는 전부 0으로 + fw_ver.AsSpan().Clear(); + CellVoltage.AsSpan().Clear(); + CellTemperature.AsSpan().Clear(); + + // 스칼라 필드 전부 0/기본값 + voltage = 0; + current = cha_current = dch_current = averageCurrent = 0; + SOC = SOH = 0; + + NumOfCells = 0; + NumOfTemps = 0; + + MaxCellVoltage = MinCellVoltage = DiffCellVoltage = 0; + + MosTemperature = AmbTemperature = 0; + MaxTemperature = MinTemperature = 0; + + RecMaxBattChgCurrLmt = 0; + + remainingCapacity = 0; + cycleCount = cycleCount_MSB = cycleCount_LSB = 0; + fullChgCapacity_mAs = fullChgCapacity_mAs_MSB = fullChgCapacity_mAs_LSB = 0; + fullChgCapacity_Ah = TotalBatCapacity_Ah = 0; + designedCapacity = 0; + + EstBackupTime = 0; + + MdCumulativeChgTime = MdCumulativeChgTimeMSB = MdCumulativeChgTimeLSB = 0; + MdCumulativeDchTime = MdCumulativeDchTimeMSB = MdCumulativeDchTimeLSB = 0; + + ChgCrate = DchCrate = MdACIR = 0; + + RemainEnergyLife = RemainCycles = 0; + + ChgCutOffVolt = DchCutOffVolt = 0; + + BatPowerOnDateYear = BatPowerOnDateMonth = 0; + + TimeLeft = 0; + + Ah_Charged = Ah_ChargedMSB = Ah_ChargedLSB = 0; + Ah_Discharged = Ah_DischargedMSB = Ah_DischargedLSB = 0; + + Wh_Charged = Wh_ChargedMSB = Wh_ChargedLSB = 0; + Wh_Discharged = Wh_DischargedMSB = Wh_DischargedLSB = 0; + + NoOfDischargeCycles = NoOfChargeCycles = 0; + + ModuleAlarms = ModuleWarnings = ModuleStatus = 0; + ModuleVoltage_int = ModBusDocVersion = 0; + + ParametersChanged = 0; + MaxBattChgCurr = MaxBattDchCurr = ShortCircuitCurrent = 0; + ProtectChgCurr = ProtectDchCurr = 0; + + BatteryProdDateYear = BatteryProdDateMonth = BatteryProdDateDay = 0; + + BatteryModelDescription = 0; + BatteryType = 0; + } + public DeviceValueData DeepCopy() + { + var copy = (DeviceValueData)MemberwiseClone(); // 스칼라 복사 + copy.fw_ver = (byte[])fw_ver.Clone(); + copy.CellVoltage = (ushort[])CellVoltage.Clone(); + copy.CellTemperature = (short[])CellTemperature.Clone(); + return copy; + } + } + + public class DeviceAvgData : IResettable, IDeepCopy + { + public short maxCellVoltage; + public short minCellVoltage; + public short avgCellVoltage; + public short diffCellVoltage; + public short maxCellNum; + public short minCellNum; + public short maxTemp; + public short minTemp; + public short avgTemp; + public short diffTemp; + public short maxTempNum; + public short minTempNum; + + public DeviceAvgData() + { + + } + + public void Reset() + { + maxCellVoltage = 0; + minCellVoltage = 0; + avgCellVoltage = 0; + diffCellVoltage = 0; + maxCellNum = 0; + minCellNum = 0; + + maxTemp = 0; + minTemp = 0; + avgTemp = 0; + diffTemp = 0; + maxTempNum = 0; + minTempNum = 0; + } + public DeviceAvgData DeepCopy() + { + return (DeviceAvgData)MemberwiseClone(); + } + } + + public class DeviceStatusData : IResettable, IDeepCopy + { + public ushort batteryStatus; + public ushort batteryStatus1; + public ushort warning; + public ushort protect; + public ushort protection1; + public ushort status; + public ushort faultAndStatus; + public ushort relayStatus; + public ushort errorCode; + public ushort specialAlarm; // 1: Commfail, 2. Gyro, 3, Breaker + + public ushort faultstatus; // Only for RS-485 + + public ushort cellBallanceStatus; + public ushort cellBalanceValue; + public ushort cellBalanceFlag; + + public DeviceStatusData() + { + + } + public void Reset() + { + batteryStatus = 0; + batteryStatus1 = 0; + warning = 0; + protect = 0; + protection1 = 0; + status = 0; + faultAndStatus = 0; + relayStatus = 0; + errorCode = 0; + specialAlarm = 0; + + faultstatus = 0; + + cellBallanceStatus = 0; + cellBalanceValue = 0; + cellBalanceFlag = 0; + } + public DeviceStatusData DeepCopy() + { + return (DeviceStatusData)MemberwiseClone(); + } + } + + public class DeviceParamData : IResettable, IDeepCopy + { + public short CellOverVoltageTrip; + public short CellOverVoltageWarning; + public short CellOverVoltageRelease; + public short CellUnderVoltageTrip; + public short CellUnderVoltageWarning; + public short CellUnderVoltageRelease; + + public short SysOverVoltageTrip; + public short SysOverVoltageWarning; + public short SysOverVoltageRelease; + public short SysUnderVoltageTrip; + public short SysUnderVoltageWarning; + public short SysUnderVoltageRelease; + + public short ChaHighTempTrip; + public short ChaHighTempWarning; + public short ChaHighTempRelease; + public short ChaLowTempTrip; + public short ChaLowTempWarning; + public short ChaLowTempRelease; + public short DchHighTempTrip; + public short DchHighTempWarning; + public short DchHighTempRelease; + public short DchLowTempTrip; + public short DchLowTempWarning; + public short DchLowTempRelease; + + public short ChaOverCurrentTrip1; + public short ChaOverCurrentTrip2; + public short ChaOverCurrentWarning; + public short ChaOverCurrentReleaseTime; + public short ChaOverCurrentTimes; + public short ChaOverCurrentDelay1; + public short ChaOverCurrentDelay2; + + public short DchOverCurrentTrip1; + public short DchOverCurrentTrip2; + public short DchOverCurrentWarning; + public short DchOverCurrentReleaseTime; + public short DchOverCurrentTimes; + public short DchOverCurrentDelay1; + public short DchOverCurrentDelay2; + + public short MosHighTempTrip; + public short MosHighTempWarning; + public short MosHighTempRelease; + + public short PcbHighTempTrip; + public short PcbHighTempWarning; + public short PcbHighTempRelease; + + public short EnvHighTempTrip; + public short EnvHighTempWarning; + public short EnvHighTempRelease; + + public short EnvLowTempTrip; + public short EnvLowTempWarning; + public short EnvLowTempRelease; + + public short ShortCircuit; + + public short LowSocTrip; + public short LowSocWarning; + public short LowSocRelease; + + public short CellVoltageDifferenceTrip; + public short CellVoltageDifferenceWarning; + public short CellVoltageDifferenceRelease; + public short CellVoltageDifferenceTime; + + public short DefalutParamOption; + public short DefalutParamAll; + public ushort ReadParamAll; + + /// + /// 모든 필드를 0(또는 기본값)으로 초기화합니다. + /// + public void Reset() + { + CellOverVoltageTrip = CellOverVoltageWarning = CellOverVoltageRelease = 0; + CellUnderVoltageTrip = CellUnderVoltageWarning = CellUnderVoltageRelease = 0; + + SysOverVoltageTrip = SysOverVoltageWarning = SysOverVoltageRelease = 0; + SysUnderVoltageTrip = SysUnderVoltageWarning = SysUnderVoltageRelease = 0; + + ChaHighTempTrip = ChaHighTempWarning = ChaHighTempRelease = 0; + ChaLowTempTrip = ChaLowTempWarning = ChaLowTempRelease = 0; + DchHighTempTrip = DchHighTempWarning = DchHighTempRelease = 0; + DchLowTempTrip = DchLowTempWarning = DchLowTempRelease = 0; + + ChaOverCurrentTrip1 = ChaOverCurrentTrip2 = ChaOverCurrentWarning = 0; + ChaOverCurrentReleaseTime = 0; + ChaOverCurrentTimes = 0; + ChaOverCurrentDelay1 = ChaOverCurrentDelay2 = 0; + + DchOverCurrentTrip1 = DchOverCurrentTrip2 = DchOverCurrentWarning = 0; + DchOverCurrentReleaseTime = 0; + DchOverCurrentTimes = 0; + DchOverCurrentDelay1 = DchOverCurrentDelay2 = 0; + + MosHighTempTrip = MosHighTempWarning = MosHighTempRelease = 0; + PcbHighTempTrip = PcbHighTempWarning = PcbHighTempRelease = 0; + + ShortCircuit = 0; + + LowSocTrip = LowSocWarning = LowSocRelease = 0; + + CellVoltageDifferenceTrip = CellVoltageDifferenceWarning = 0; + CellVoltageDifferenceRelease = CellVoltageDifferenceTime = 0; + + DefalutParamOption = 0; + DefalutParamAll = 0; + ReadParamAll = 0; + } + + public DeviceParamData DeepCopy() + { + return (DeviceParamData)MemberwiseClone(); + } + } + + public class DeviceCalibration : IResettable, IDeepCopy + { + public BatteryParameter Battery; + public CurrentCalib Current; + public CapCalibration CapCalib; + public FetCalibration FetCalib; + public ChargeMode ChaMode; + public TAntiTheft AntiTheft; + public TBmsDateTime BmsDateTime; + + public TAntiTheftComm AntiTheftComm; + public TAntiTheftGyro AntiTheftGyro; + + public DeviceCalibration() + { + Battery = new BatteryParameter(); + Current = new CurrentCalib(); + CapCalib = new CapCalibration(); + FetCalib = new FetCalibration(); + ChaMode = new ChargeMode(); + AntiTheft = new TAntiTheft(); + BmsDateTime = new TBmsDateTime(); + + AntiTheftComm = new TAntiTheftComm(); + AntiTheftGyro = new TAntiTheftGyro(); + } + + /// + /// 모든 하위 객체를 기본값으로 리셋합니다. + /// - 하위 타입이 IResettable이면 Reset() 호출 + /// - 아니면 새 인스턴스로 교체(참조 재바인딩 허용 시) + /// + public void Reset() + { + ResetCopyHelpers.ResetOrRecreate(ref Battery); + ResetCopyHelpers.ResetOrRecreate(ref Current); + ResetCopyHelpers.ResetOrRecreate(ref CapCalib); + ResetCopyHelpers.ResetOrRecreate(ref FetCalib); + ResetCopyHelpers.ResetOrRecreate(ref ChaMode); + ResetCopyHelpers.ResetOrRecreate(ref AntiTheft); + ResetCopyHelpers.ResetOrRecreate(ref BmsDateTime); + ResetCopyHelpers.ResetOrRecreate(ref AntiTheftComm); + ResetCopyHelpers.ResetOrRecreate(ref AntiTheftGyro); + } + /// + /// 깊은 복사. 가능한 경우 하위 객체의 DeepCopy() 사용, 없으면 새 인스턴스 생성(얕은 복사 회피). + /// + public DeviceCalibration DeepCopy() + { + return new DeviceCalibration + { + Battery = ResetCopyHelpers.DeepCopyOrNew(Battery), + Current = ResetCopyHelpers.DeepCopyOrNew(Current), + + // 기존 코드에선 CapCalib/AntiTheft/ChaMode만 깊은 복사를 하고 + // 나머지는 얕은 복사를 했습니다. 전부 통일합니다. + CapCalib = ResetCopyHelpers.DeepCopyOrNew(CapCalib), + FetCalib = ResetCopyHelpers.DeepCopyOrNew(FetCalib), + ChaMode = ResetCopyHelpers.DeepCopyOrNew(ChaMode), + AntiTheft = ResetCopyHelpers.DeepCopyOrNew(AntiTheft), + BmsDateTime = ResetCopyHelpers.DeepCopyOrNew(BmsDateTime), + + AntiTheftComm = ResetCopyHelpers.DeepCopyOrNew(AntiTheftComm), + AntiTheftGyro = ResetCopyHelpers.DeepCopyOrNew(AntiTheftGyro), + }; + } + + public class BatteryParameter + { + public short CellQty; + public short TempQty; + public UInt32 Capacity; + + public BatteryParameter() + { + CellQty = 0; + TempQty = 0; + Capacity = 0; + } + } + + public class CurrentCalib + { + public short ChargeOption; + + public CurrentCalib() + { + ChargeOption = 0; + } + } + + public class CapCalibration : IResettable, IDeepCopy + { + public int DesignCapacity; + public int SocValue; + public int CycleCount; + + public CapCalibration() + { + DesignCapacity = 0; + SocValue = 0; + CycleCount = 0; + } + public void Reset() + { + DesignCapacity = 0; + SocValue = 0; + CycleCount = 0; + } + public CapCalibration DeepCopy() + { + return (CapCalibration)MemberwiseClone(); + } + } + + public class FetCalibration + { + public short FetStatus; + public short DchFetOff; // 6010 + public short ChaFetOff; // 6011 + public short LmtChaFetOff; // 6012 + public short PreChaFetOn; // 6013 + public short HeaterFetOn; // 6014 + public short ChaFetOn; // 6015 + + public FetCalibration() + { + FetStatus = 0; + DchFetOff = 0; + ChaFetOff = 0; + LmtChaFetOff = 0; + PreChaFetOn = 0; + HeaterFetOn = 0; + ChaFetOn = 0; + } + } + + public class ChargeMode : IResettable, IDeepCopy + { + public int Mode; + public int Value; + + public ChargeMode() + { + Mode = 0; + Value = 0; + } + public void Reset() + { + Mode = 0; + Value = 0; + } + public ChargeMode DeepCopy() + { + return (ChargeMode)MemberwiseClone(); + } + } + + public class TAntiTheft : IResettable, IDeepCopy + { + public int Comm; + public int GyroScope; + + public TAntiTheft() + { + Comm = 0; + GyroScope = 0; + } + public void Reset() + { + Comm = 0; + GyroScope = 0; + } + public TAntiTheft DeepCopy() + { + return (TAntiTheft)MemberwiseClone(); + } + } + + public class TBmsDateTime : IResettable, IDeepCopy + { + public string Str; + public int lValue; + public short[] sValue; + + public TBmsDateTime() + { + Str = ""; + lValue = 0; + sValue = new short[2]; + } + public void Reset() + { + Str = ""; + lValue = 0; + sValue[0] = 0; + sValue[1] = 0; + } + public TBmsDateTime DeepCopy() + { + var copy = (TBmsDateTime)MemberwiseClone(); + copy.sValue = (short[])sValue.Clone(); + return copy; + } + } + + public class TAntiTheftComm : IResettable, IDeepCopy + { + public int TimeOut; + public int FuncSwitch; + public int Unlock; + + public TAntiTheftComm() + { + TimeOut = 0; + FuncSwitch = 0; + Unlock = 0; + } + public void Reset() + { + TimeOut = 0; + FuncSwitch = 0; + Unlock = 0; + } + public TAntiTheftComm DeepCopy() + { + return (TAntiTheftComm)MemberwiseClone(); + } + } + + public class TAntiTheftGyro : IResettable, IDeepCopy + { + public int XAxis; + public int YAxis; + public int ZAxis; + public int GyroPolicySel; + public int GyroFuncSwitch; + public int GyroState; + public int Unlock; + + public TAntiTheftGyro() + { + XAxis = 0; + YAxis = 0; + ZAxis = 0; + GyroPolicySel = 0; + GyroFuncSwitch = 0; + GyroState = 0; + Unlock = 0; + } + public void Reset() + { + XAxis = 0; + YAxis = 0; + ZAxis = 0; + GyroPolicySel = 0; + GyroFuncSwitch = 0; + GyroState = 0; + Unlock = 0; + } + public TAntiTheftGyro DeepCopy() + { + return (TAntiTheftGyro)MemberwiseClone(); + } + } + } + + public class DeviceInforation : IResettable, IDeepCopy + { + public UInt32 ManufactureDate; + public byte[] Model_Byte; + public byte[] FwVer_Byte; + public string Model_Str; + public string FwVer_Str; + public byte[] BMS_SN; + public string BMS_SN_Str; + public byte[] Module_SN; + + public byte[] ManufactureName; + public string ManufactureName_Str; + + public byte[] ManuDate_Byte; + + public string VendorName; + public string ProductCode; + public string MajorMinorRev; + public string ModelName; + public string HwSerialNumber; + public string HwProductRev; + public string ManufacturingDate; + public string SwProductRev; + + public DeviceInforation() + { + Model_Byte = new byte[24]; + FwVer_Byte = new byte[6]; + Model_Str = " "; + FwVer_Str = " "; + BMS_SN = new byte[32]; + BMS_SN_Str = " "; + Module_SN = new byte[32]; + + ManufactureName_Str = " "; + ManufactureName = new byte[10]; + + ManuDate_Byte = new byte[16]; + + VendorName = "-"; + ProductCode = "-"; + MajorMinorRev = "-"; + ModelName = "-"; + HwSerialNumber = "-"; + HwProductRev = "-"; + ManufacturingDate = "-"; + SwProductRev = "-"; + } + public void Reset() + { + ManufactureDate = 0; + + Array.Clear(Model_Byte, 0, Model_Byte.Length); + Array.Clear(FwVer_Byte, 0, FwVer_Byte.Length); + Model_Str = " "; + FwVer_Str = " "; + + Array.Clear(BMS_SN, 0, BMS_SN.Length); + BMS_SN_Str = " "; + Array.Clear(Module_SN, 0, Module_SN.Length); + + Array.Clear(ManufactureName, 0, ManufactureName.Length); + ManufactureName_Str = " "; + + Array.Clear(ManuDate_Byte, 0, ManuDate_Byte.Length); + + VendorName = "-"; + ProductCode = "-"; + MajorMinorRev = "-"; + ModelName = "-"; + HwSerialNumber = "-"; + HwProductRev = "-"; + ManufacturingDate = "-"; + SwProductRev = "-"; + } + public DeviceInforation DeepCopy() + { + var copy = (DeviceInforation)MemberwiseClone(); + copy.Model_Byte = (byte[])Model_Byte.Clone(); + copy.Model_Byte = (byte[])FwVer_Byte.Clone(); + copy.Model_Byte = (byte[])BMS_SN.Clone(); + copy.Model_Byte = (byte[])Module_SN.Clone(); + copy.Model_Byte = (byte[])ManufactureName.Clone(); + copy.Model_Byte = (byte[])ManuDate_Byte.Clone(); + return copy; + } + } + + public class DeviceEtcStatus : IResettable + { + public short SwitchHW; + public short SwitchWarning; + public short SwitchProtect; + public ushort LogDurationIdle; // min + public ushort LogDurationActive; // min + public UInt32 DataAndTime; + public ushort ChgOCPModel; /* 充电限流 + 0:不限流保护 + 1:始终限流充电 + 2:预充保护 + 4:充电过流后限流 + 8:预充+充电过流后限流 */ + public short ChgLmtVoltage; // mv + public short SOC_StopFloat; // % 暂停浮充Soc + public short SOC_RecvFloat; // % 恢复浮充电压 + public short DurationFloat; // sec + public short DurationIdle; // sec + public short VoltageStopFloat; // 0.1V + public short VoltageRecvFloat; // 0.1V + public short FloatMode; /* 0000: 持续浮充 + 0001:检测电压 + 0002:定时浮充 + 0003:检测SOC */ + public short BalanceVoltage; // mV 均衡启动电压 + public short BalanceDeltaV; // mV 均衡启动压差 + public short WarnLowCapacity; // 低容量告警 + public short HistroyDelete; // 删除数据记录 + + public DeviceEtcStatus() + { + + } + public void Reset() + { + SwitchHW = 0; + SwitchWarning = 0; + SwitchProtect = 0; + LogDurationIdle = 0; + LogDurationActive = 0; + DataAndTime = 0; + ChgOCPModel = 0; + ChgLmtVoltage = 0; + SOC_StopFloat = 0; + SOC_RecvFloat = 0; + DurationFloat = 0; + DurationIdle = 0; + VoltageStopFloat = 0; + VoltageRecvFloat = 0; + FloatMode = 0; + BalanceVoltage = 0; + BalanceDeltaV = 0; + WarnLowCapacity = 0; + HistroyDelete = 0; + } + } + + public class DeviceMaxValue : IResettable + { + public short MaxChgCurrent; + public short MaxChgTemperature; + public short MinChgTemperature; + public short FloatChgVolt; + public short BoostChgVolt; + + public DeviceMaxValue() + { + } + + public void Reset() + { + MaxChgCurrent = 0; + MaxChgTemperature = 0; + MinChgTemperature = 0; + FloatChgVolt = 0; + BoostChgVolt = 0; + } + } + + public class DeviceGyroValue : IResettable + { + public short X_axis; + public short Y_axis; + public short Z_axis; + public short Gyro_policy_sel; + public short Gyro_func_sw; + public short Gyro_state; + + public DeviceGyroValue() + { + + } + public void Reset() + { + X_axis = 0; + Y_axis = 0; + Z_axis = 0; + Gyro_policy_sel = 0; + Gyro_func_sw = 0; + Gyro_state = 0; + } + } + } + #endregion + } + public interface IResettable + { + void Reset(); + } + public interface IDeepCopy + { + T DeepCopy(); + } + + public static class ResetCopyHelpers + { + // IResettable이면 Reset 호출, 아니면 new() + public static void ResetOrRecreate(ref T obj) where T : class, new() + { + if (obj is IResettable r) r.Reset(); + else obj = new T(); + } + + // IDeepCopy 우선, ICloneable 차선, 없으면 new() + public static T DeepCopyOrNew(T obj) where T : class, new() + { + if (obj is IDeepCopy dc) return dc.DeepCopy(); + if (obj is ICloneable cl) return (T)cl.Clone(); + return new T(); + } + } + +} diff --git a/LFP_Manager/DataStructure/CsSnmpConstData.cs b/LFP_Manager/DataStructure/CsSnmpConstData.cs new file mode 100644 index 0000000..753d9f0 --- /dev/null +++ b/LFP_Manager/DataStructure/CsSnmpConstData.cs @@ -0,0 +1,79 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace LFP_Manager.DataStructure +{ + internal class CsSnmpConstData + { + public static readonly string[] SnmpOidInfo = + { + ".1.3.6.1.2.1.15.1.0", // 0 Voltage - 10mV + ".1.3.6.1.2.1.15.2.0", // 1 Current - 10mA + ".1.3.6.1.2.1.15.3.0", // 2 #01 Cell Voltage - mV + ".1.3.6.1.2.1.15.4.0", // 3 #02 Cell Voltage - mV + ".1.3.6.1.2.1.15.5.0", // 4 #03 Cell Voltage - mV + ".1.3.6.1.2.1.15.6.0", // 5 #04 Cell Voltage - mV + ".1.3.6.1.2.1.15.7.0", // 6 #05 Cell Voltage - mV + ".1.3.6.1.2.1.15.8.0", // 7 #06 Cell Voltage - mV + ".1.3.6.1.2.1.15.9.0", // 8 #07 Cell Voltage - mV + ".1.3.6.1.2.1.15.10.0", // 9 #08 Cell Voltage - mV + ".1.3.6.1.2.1.15.11.0", // 10 #09 Cell Voltage - mV + ".1.3.6.1.2.1.15.12.0", // 11 #10 Cell Voltage - mV + ".1.3.6.1.2.1.15.13.0", // 12 #11 Cell Voltage - mV + ".1.3.6.1.2.1.15.14.0", // 13 #12 Cell Voltage - mV + ".1.3.6.1.2.1.15.15.0", // 14 #13 Cell Voltage - mV + ".1.3.6.1.2.1.15.16.0", // 15 #14 Cell Voltage - mV + ".1.3.6.1.2.1.15.17.0", // 16 #15 Cell Voltage - mV + ".1.3.6.1.2.1.15.18.0", // 17 #16 Cell Voltage - mV + + ".1.3.6.1.2.1.15.19.0", // 18 Temp of PCB - C + ".1.3.6.1.2.1.15.20.0", // 19 Temp of Ambient - C + ".1.3.6.1.2.1.15.21.0", // 20 Temp Max. - C + ".1.3.6.1.2.1.15.22.0", // 21 Remaining Capacity - 0.1AH + + ".1.3.6.1.2.1.15.24.0", // 23 SOH - 0.00% + ".1.3.6.1.2.1.15.25.0", // 24 SOC - 0.00% + ".1.3.6.1.2.1.15.26.0", // 25 Status + ".1.3.6.1.2.1.15.27.0", // 26 Warning + ".1.3.6.1.2.1.15.28.0", // 27 Protection + ".1.3.6.1.2.1.15.29.0", // 28 FailAndStatus + ".1.3.6.1.2.1.15.30.0", // 29 Cycle Count + + ".1.3.6.1.2.1.15.31.0", // 30 #01 Temp - C + ".1.3.6.1.2.1.15.32.0", // 31 #02 Temp - C + ".1.3.6.1.2.1.15.33.0", // 32 #03 Temp - C + ".1.3.6.1.2.1.15.34.0", // 33 #04 Temp - C + + ".1.3.6.1.2.1.15.37.0", // 34 Cell Number + ".1.3.6.1.2.1.15.38.0", // 35 Designed Capacity - 0.1AH + ".1.3.6.1.2.1.15.39.0", // 36 Average Temp - C + ".1.3.6.1.2.1.15.40.0", // 37 Max Charge Current - A + ".1.3.6.1.2.1.15.41.0", // 38 Temp Number + + ".1.3.6.1.2.1.15.42.0", // 39 DateTime - Year + ".1.3.6.1.2.1.15.43.0", // 40 DateTime - Month + ".1.3.6.1.2.1.15.44.0", // 41 DateTime - Date + ".1.3.6.1.2.1.15.45.0", // 42 DateTime - Hour + ".1.3.6.1.2.1.15.46.0", // 43 DateTime - Minute + ".1.3.6.1.2.1.15.47.0", // 44 DateTime - Second + + ".1.3.6.1.2.1.15.48.0", // 45 Flaot Voltage - 0.00V + ".1.3.6.1.2.1.15.49.0", // 46 Boost Voltage - 0.00V + + ".1.3.6.1.2.1.15.50.0", // 47 Min. Charge Temp - C + ".1.3.6.1.2.1.15.51.0", // 48 Max. Charge Temp - C + + ".1.3.6.1.2.1.15.60.0", // 49 Model - String + ".1.3.6.1.2.1.15.61.0", // 50 BMS Firmware - String + ".1.3.6.1.2.1.15.62.0", // 51 Pack Serial Number - String + ".1.3.6.1.2.1.15.63.0", // 52 Vendor Name - String + ".1.3.6.1.2.1.15.64.0", // 53 Product Code - String + ".1.3.6.1.2.1.15.65.0", // 54 MajorMinorRev - String + ".1.3.6.1.2.1.15.66.0", // 55 HwProductRev - String + ".1.3.6.1.2.1.15.67.0", // 56 Manufacture Date - String + }; + } +} diff --git a/LFP_Manager/DataStructure/csCanConstData.cs b/LFP_Manager/DataStructure/csCanConstData.cs new file mode 100644 index 0000000..db8a0bf --- /dev/null +++ b/LFP_Manager/DataStructure/csCanConstData.cs @@ -0,0 +1,192 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace LFP_Manager.DataStructure +{ + class csCanConstData + { + public class CanDeviceInfo + { + public const int VCI_PCI5121 = 1; + public const int VCI_PCI9810 = 2; + public const int VCI_USBCAN1 = 3; + public const int VCI_USBCAN2 = 4; + public const int VCI_USBCAN2A = 4; + public const int VCI_PCI9820 = 5; + public const int VCI_CAN232 = 6; + public const int VCI_PCI5110 = 7; + public const int VCI_CANLITE = 8; + public const int VCI_ISA9620 = 9; + public const int VCI_ISA5420 = 10; + public const int VCI_PC104CAN = 11; + public const int VCI_CANETUDP = 12; + public const int VCI_CANETE = 12; + public const int VCI_DNP9810 = 13; + public const int VCI_PCI9840 = 14; + public const int VCI_PC104CAN2 = 15; + public const int VCI_PCI9820I = 16; + public const int VCI_CANETTCP = 17; + public const int VCI_PEC9920 = 18; + public const int VCI_PCI5010U = 19; + public const int VCI_USBCAN_E_U = 20; + public const int VCI_USBCAN_2E_U = 21; + public const int VCI_PCI5020U = 22; + public const int VCI_EG20T_CAN = 23; + /// + /// + /// + /// + /// + /// + /// + } + + public static readonly string[] DEVICE_NAME = + { + "PCI5121", + "PCI9810", + "USBCAN1", + "USBCAN2", + "USBCAN2A", + "PCI9820", + "CAN232", + "PCI5110", + "CANLITE", + "ISA9620", + "ISA5420", + "PC104CAN", + "CANETUDP", + "CANETE", + "DNP9810", + "PCI9840", + "PC104CAN2", + "PCI9820I", + "CANETTCP", + "PEC9920", + "PCI5010U", + "USBCAN_E_U", + "USBCAN_2E_U", + "PCI5020U", + "EG20T_CAN", + /// + /// + /// + /// + /// + /// + /// + }; + + public static readonly int[] DEVICE_ID = + { + 1, + 2, + 3, + 4, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + /// + /// + /// + /// + /// + /// + /// + }; + + //0x060003--1000Kbps + //0x060004--800Kbps + //0x060007--500Kbps + //0x1C0008--250Kbps + //0x1C0011--125Kbps + //0x160023--100Kbps + //0x1C002C--50Kbps + //0x1600B3--20Kbps + //0x1C00E0--10Kbps + //0x1C01C1--5Kbps + + public static readonly int[] CAN_BAUDRATE = + { + 0x060003, + 0x060004, + 0x060007, + 0x1C0008, + 0x1C0011, + 0x160023, + 0x1C002C, + 0x1600B3, + 0x1C00E0, + 0x1C01C1 + }; + + //USBCAN II Baudrate + public static readonly int[] CAN_BAUDRATE_OTHER = // Timer 0 + Timer 1 + { + 0x0014, // 1000Kbps + 0x0016, // 800Kbps + 0x001C, // 500Kbps + 0x011C, // 250Kbps + 0x031C, // 125Kbps + 0x041C, // 100Kbps + 0x091C, // 50Kbps + 0x181C, // 20Kbps + 0x311C, // 10Kbps + 0xBFFF // 5Kbps + }; + + public static readonly string[] CAN_BAUDRATE_STR = + { + "1000Kbps", + "800Kbps", + "500Kbps", + "250Kbps", + "125Kbps", + "100Kbps", + "50Kbps", + "20Kbps", + "10Kbps", + "5Kbps" + }; + + public class SendType + { + public const int Normal = 0; + public const int Single_Normal = 1; + public const int Loop_Back = 2; + public const int Single_Loop_Back = 3; + } + + public class FrameType + { + public const int Standard = 0; + public const int Extended = 1; + } + + public class FrameFormat + { + public const int Data_Frame = 0; + public const int Remote_Frame = 1; + } + } +} diff --git a/LFP_Manager/DataStructure/csConstData.cs b/LFP_Manager/DataStructure/csConstData.cs new file mode 100644 index 0000000..03bfc18 --- /dev/null +++ b/LFP_Manager/DataStructure/csConstData.cs @@ -0,0 +1,272 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace LFP_Manager.DataStructure +{ + class csConstData + { + public class SystemInfo + { + public const int BASE_CAN_TARGET_ADDR = 200; + public const int MAX_MODULE_SIZE = 16; + + public const int MAX_MODULE_CELL_SIZE = 15; + public const int MAX_MODULE_TEMP_SIZE = 8; //Byul 21.08.09 Initial : 8 + + public static readonly int FLOATING_VOLTAGE = (int)(3.55 * MAX_MODULE_CELL_SIZE * 10); + + public static readonly string[] CHG_MODE = + { + "NO CURR LMT", + "ALWAYS CURR LMT", + "PRE-CHG PROTECT", + "CHG LMT AFTER OC", + "PRE-CHG + LMT", + }; + } + + public class CommType + { + public const int COMM_UART = 0; + public const int COMM_RS485 = 1; + public const int COMM_SNMP = 2; + public const int COMM_UART_MULTI = 9; + } + + public class UART_MODEL_INDEX + { + public const int LFPM_48100D = 0; + public const int LFPM_48150D = 1; + public const int LFPM_48200D = 2; + public const int LFPM_48250D = 3; + public const int LFPM_48300D = 4; + public const int LFPM_124050D = 5; + } + + public static readonly string[] UART_MODEL = + { + "LFPM-48100SB", // 0 + "LFPM-48150SB", // 1 + "LFPM-48200SB", // 2 + "LFPM-48250SB", // 3 + "LFPM-48300SB", // 4 + }; + + public static readonly string[] UART_PROTOCOL = + { + "AMG", + }; + + public class UART_PARAM_LIST + { + public const int DEFAULT_PARAM = 0; + public const int CELL_UNDER_VOLTAGE = 61; //67 + public const int PACK_UNDER_VOLTAGE = 64; //64 + public const int CELL_OVER_VOLTAGE = 67; // + public const int PACK_OVER_VOLTAGE = 70; //61 + public const int CHG_OVER_CURRENT2 = 83; + public const int DCH_OVER_CURRENT2 = 84; + public const int CHG_OVER_CURRENT = 78; + public const int DCH_OVER_CURRENT = 79; + + public const int ENV_LOW_TEMPERATURE = 0x82; // 130, 131, 132 0x82, 0x83, 0x84 - Warning, Trip, Release + public const int ENV_HIGH_TEMPERATURE = 0x85; // 133, 134, 135 0x85, 0x86, 0x87 - Warning, Trip, Release + + public const int CHG_LOW_TEMPERATURE = 90; + public const int CHG_HIGH_TEMPERATURE = 93; //93 + public const int DCH_LOW_TEMPERATURE = 96; + public const int DCH_HIGH_TEMPERATURE = 99; //99 + public const int PCB_HIGH_TEMPERATURE = 102; + + public const int LOW_CAPACITY = 58; + + public const int DESIGN_CAPACITY = 37; + public const int SOC_VALUE = 24; + public const int CYCLE_COUNT = 29; + } + + public class UART_CALIB_ADDR_LIST + { + public const int LIMIT_CHARGE = 0x502E; // + public const int BMS_DATETIME = 0x002D; + public const int CHAGE_MODE = 0x002F; // + public const int ANTI_THEFT_COMM = 0x0088; + public const int ANTI_THEFT_GYRO = 0x0089; + + public const int BAL_VOLT = 0x38; + public const int BAL_DIFF = 0x39; + } + + public class UART_PARAM_DEFAULT + { + public const int Warn_Cell_UV = 2800; + public const int Protect_Cell_UV = 2500; + public const int Release_Cell_UV = 3000; + public const int Warn_Pack_UV = 4300; + public const int Protect_Pack_UV = 4200; + public const int Release_Pack_UV = 4500; + + public const int Warn_Cell_OV = 3750; + public const int Protect_Cell_OV = 3850; + public const int Release_Cell_OV = 3580; + public const int Warn_Pack_OV = 5600; + public const int Protect_Pack_OV = 5700; + public const int Release_Pack_OV = 5400; + + public const int Protect_Charge_OC1 = 11000; + public const int Protect_Discharge_OC1 = 11000; + public const int Protect_Charge_OC2 = 12000; + public const int Protect_Discharge_OC2 = 12000; + public const int ReleaseTime_Charge_OC = 60; + public const int ReleaseTime_Discharge_OC = 60; + public const int Delay_Charge_OC1 = 5; + public const int Delay_Discharge_OC1 = 5; + public const int Delay_Charge_OC2 = 1; + public const int Delay_Discharge_OC2 = 1; + public const int Times_Charge_OC = 5; + public const int Times_Discharge_OC = 5; + + public const int Warn_Charge_UT = -5; + public const int Protect_Charge_UT = -10; + public const int Release_Charge_UT = -3; + public const int Warn_Charge_OT = 60; + public const int Protect_Charge_OT = 65; + public const int Release_Charge_OT = 55; + + public const int Warn_Discharge_UT = -20; + public const int Protect_Discharge_UT = -25; + public const int Release_Discharge_UT = -15; + public const int Warn_Discharge_OT = 65; + public const int Protect_Discharge_OT = 70; + public const int Release_Discharge_OT = 60; + + public const int Warn_Low_Capacity = 5; + } + + public class UART_124050_PARAM_DEFAULT + { + public const int Warn_Cell_UV = 2800; + public const int Protect_Cell_UV = 2500; + public const int Release_Cell_UV = 3000; + public const int Warn_Pack_UV = 10900; + public const int Protect_Pack_UV = 9795; + public const int Release_Pack_UV = 11700; + + public const int Warn_Cell_OV = 3750; + public const int Protect_Cell_OV = 3850; + public const int Release_Cell_OV = 3580; + public const int Warn_Pack_OV = 14600; + public const int Protect_Pack_OV = 15000; + public const int Release_Pack_OV = 14000; + + public const int Protect_Charge_OC1 = 11000; + public const int Protect_Discharge_OC1 = 11000; + public const int Protect_Charge_OC2 = 12000; + public const int Protect_Discharge_OC2 = 12000; + public const int ReleaseTime_Charge_OC = 60; + public const int ReleaseTime_Discharge_OC = 60; + public const int Delay_Charge_OC1 = 5; + public const int Delay_Discharge_OC1 = 5; + public const int Delay_Charge_OC2 = 1; + public const int Delay_Discharge_OC2 = 1; + public const int Times_Charge_OC = 5; + public const int Times_Discharge_OC = 5; + + public const int Warn_Charge_UT = -5; + public const int Protect_Charge_UT = -10; + public const int Release_Charge_UT = -3; + public const int Warn_Charge_OT = 60; + public const int Protect_Charge_OT = 65; + public const int Release_Charge_OT = 55; + + public const int Warn_Discharge_UT = -20; + public const int Protect_Discharge_UT = -25; + public const int Release_Discharge_UT = -15; + public const int Warn_Discharge_OT = 65; + public const int Protect_Discharge_OT = 70; + public const int Release_Discharge_OT = 60; + + public const int Warn_Low_Capacity = 5; + + public const int Warn_Env_UT = -20; + public const int Protect_Env_UT = -25; + public const int Release_Env_UT = -15; + public const int Warn_Env_OT = 65; + public const int Protect_Env_OT = 70; + public const int Release_Env_OT = 60; + } + + public class ResetCommandFlag + { + public static readonly ushort SystemReset = 0x0001; + public static readonly ushort LcdHistoryDelete = 0x0002; + public static readonly ushort SystemResetAll = 0x0003; + } + + public class Eltek_Data + { + public static readonly ushort MD_BASE_REG = 4000; + public static readonly ushort MD_OFFSET = 400; + + public static readonly ushort OpDataRegAddr = 0; + public static readonly ushort OpDataRegSize = 15; + public static readonly ushort ParaDataRegAddr = 200; + public static readonly ushort ParaDataRegSize = 71; + + public static ushort GetOpDataRegAddr(int mID) + { + return (ushort)(MD_BASE_REG + (MD_OFFSET * mID) + OpDataRegAddr); + } + public static ushort GetParamDataRegAddr(int mID) + { + return (ushort)(MD_BASE_REG + (MD_OFFSET * mID) + ParaDataRegAddr); + } + } + public class CRC_Data + { + public static readonly byte[] auchCRCHi = + { + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, + 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, + 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, + 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, + 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, + 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, + 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, + 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, + 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, + 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, + 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, + 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, + 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, + 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,0x40 + }; + + public static readonly byte[] auchCRCLo = + { + 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4, + 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, + 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, + 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, + 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7, + 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, + 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, + 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, + 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2, + 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, + 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, + 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, + 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91, + 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, + 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, + 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, + 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80,0x40 + }; + } + } +} diff --git a/LFP_Manager/DataStructure/csDataStructure.cs b/LFP_Manager/DataStructure/csDataStructure.cs new file mode 100644 index 0000000..b166057 --- /dev/null +++ b/LFP_Manager/DataStructure/csDataStructure.cs @@ -0,0 +1,1016 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Runtime.InteropServices; +using System.Windows.Forms; +using static DevExpress.Utils.MVVM.Internal.ILReader; +using LFP_Manager.Function; + +namespace LFP_Manager.DataStructure +{ + public class CommConfig + { + public int CommType; + + public string SnmpIP; + public int SnmpModelIndex; + public int ModuleQty; + public int RecvWaitTime; + + public string UartPort; + public int UartBaudrate; + public int UartModelIndex; + public int UartProtocol; + + public int CommFailTime; + + public int DbLogPeriod; + + public int GyroSensitive; + + public int ControlLevel; + + public string MasterPw; + public string EngineerPw; + public string TechnicianPw; + + public CommConfig() + { + CommType = 0; + + SnmpIP = "192.168.0.200"; + SnmpModelIndex = 0; + ModuleQty = 1; + + UartPort = ""; + UartBaudrate = 9600; + UartModelIndex = 0; + UartProtocol = 0; + + RecvWaitTime = 1500; // 1500ms + CommFailTime = 5000; // 5000ms + + DbLogPeriod = 5; + + GyroSensitive = 120; + + ControlLevel = 0; + + MasterPw = "8003"; + EngineerPw = "7003"; + TechnicianPw = "6003"; + } + } + + public class TMinMax + { + public short value; + public short num; + + public TMinMax() + { + value = 0; + num = 0; + } + } + + public class DeviceSystemTotalData + { + public bool CommFail; + + public DeviceSystemIdent IdentData; + public DeviceValueTotalData ValueData; + public DeviceStatusTotalData StatusData; + + public DeviceSystemTotalData() + { + IdentData = new DeviceSystemIdent(); + ValueData = new DeviceValueTotalData(); + StatusData = new DeviceStatusTotalData(); + } + } + + public class DeviceSystemIdent + { + public string Manufacturer; + public string DeviceModel; + //public int ModuleQuantity; + + public byte[] fw_ver; + public string FwVerStr; + + public int AlarmOutputMode; + + public UInt32 ManufactureDate; + public string SerialNumber; + + public DeviceSystemIdent() + { + Manufacturer = ""; + DeviceModel = ""; + //ModuleQuantity = 1; + + fw_ver = new byte[4]; + FwVerStr = ""; + + AlarmOutputMode = 0; + ManufactureDate = 0; + SerialNumber = ""; + } + } + + public class DateTimeStruct + { + public int year; + public int month; + public int day; + public int hour; + public int minute; + public int second; + + public string DateTimeStr; + + public DateTimeStruct() + { + DateTimeStr = "-"; + } + } + + public class DeviceSystemData + { + public bool active; + + public int mNo; + public int cellQty; + public int recv_cellQty; + public int tempQty; + public int ntcQty; + public int ChargeVoltage; + public int DOD; + public int MaxChaCurrent; + public int MaxDchCurrent; + + public int FloatVoltage; + public int BoostVoltage; + + public int MinChargeTemp; + public int MaxChargeTemp; + + public UInt32 heatbeat; + public bool CommFail; + public bool ShelfCommFail; + public DateTime LastRxTime; + public Int32 BmsDateTimeInt; + public ushort BmsDateTimeShort1; + public ushort BmsDateTimeShort2; + + public DateTimeStruct BmsDateTime; + + public DeviceValueData ValueData; + public DeviceAvgData AvgData; + public DeviceStatusData StatusData; + public DeviceParamData ParamData; + public DeviceCalibration CalibrationData; + public DeviceInforation Information; + public DeviceEtcStatus EtcStatus; + + public DeviceMaxValue MaxValue; + public DeviceGyroValue GyroValue; + + public DeviceSystemData() + { + active = false; + + mNo = 0; + cellQty = csConstData.SystemInfo.MAX_MODULE_CELL_SIZE; + tempQty = csConstData.SystemInfo.MAX_MODULE_TEMP_SIZE; + ChargeVoltage = 0; + DOD = 0; + MaxChaCurrent = 0; + MaxDchCurrent = 0; + + heatbeat = 0; + CommFail = false; + ShelfCommFail = false; + LastRxTime = DateTime.MinValue; + BmsDateTimeInt = 0; + + BmsDateTime = new DateTimeStruct(); + + ValueData = new DeviceValueData(); + AvgData = new DeviceAvgData(); + StatusData = new DeviceStatusData(); + ParamData = new DeviceParamData(); + CalibrationData = new DeviceCalibration(); + Information = new DeviceInforation(); + EtcStatus = new DeviceEtcStatus(); + + MaxValue = new DeviceMaxValue(); + GyroValue = new DeviceGyroValue(); + } + + public void Reset() + { + active = false; + + mNo = 0; + cellQty = 15; + tempQty = 4; + ChargeVoltage = 0; + DOD = 0; + MaxChaCurrent = 0; + MaxDchCurrent = 0; + + heatbeat = 0; + CommFail = false; + ShelfCommFail = false; + LastRxTime = DateTime.MinValue; + BmsDateTimeInt = 0; + BmsDateTimeShort1 = 0; + BmsDateTimeShort2 = 0; + + ResetCopyHelpers.ResetOrRecreate(ref BmsDateTime); + ResetCopyHelpers.ResetOrRecreate(ref ValueData); + ResetCopyHelpers.ResetOrRecreate(ref AvgData); + ResetCopyHelpers.ResetOrRecreate(ref ParamData); + ResetCopyHelpers.ResetOrRecreate(ref CalibrationData); + ResetCopyHelpers.ResetOrRecreate(ref Information); + ResetCopyHelpers.ResetOrRecreate(ref EtcStatus); + ResetCopyHelpers.ResetOrRecreate(ref MaxValue); + ResetCopyHelpers.ResetOrRecreate(ref GyroValue); + } + + } + + public class DeviceValueTotalData + { + public short TotalVoltage; + public short TotalCurrent; + public short TotalSOC; + public short TotalSOH; + public short TotalTemp; + + public DeviceValueTotalData() + { + TotalVoltage = 0; + TotalCurrent = 0; + TotalSOC = 0; + TotalSOH = 0; + TotalTemp = 0; + } + } + + public class DeviceValueData + { + public byte[] fw_ver; + + public short voltageOfPack; + public short current; + public short cha_current; + public short dch_current; + public short averageCurrent; + public short rSOC; + + public short NumOfCells; + public short NumOfTemps; + + public ushort[] CellVoltage; + public short[] CellTemperature; + + public short Ext1Temperature; + public short Ext2Temperature; + + public short remainingCapacity; + public short stateOfHealth; + public int cycleCount; + public int fullChargeCapacity; + public int designedCapacity; + + public int TimeLeft; + + public int Ah_Charged; + public int Ah_Discharged; + public int NoOfDischargeCycles; + public int NoOfChargeCycles; + + public int ModuleAlarms; + public int ModuleWarnings; + public int ModuleStatus; + public int ModuleVoltage_int; + public int ModBusDocVersion; + + public int ParametersChanged; + public int MaxBattChargeCurr; + public int MaxBattDischargeCurr; + + public int BatteryProdDateYear; + public int BatteryProdDateMonth; + public int BatteryProdDateDay; + + public int BatteryModelDescription; + public int BatteryType; + + public DeviceValueData() + { + fw_ver = new byte[6]; + + CellVoltage = new ushort[csConstData.SystemInfo.MAX_MODULE_CELL_SIZE]; + CellTemperature = new short[csConstData.SystemInfo.MAX_MODULE_TEMP_SIZE]; + } + } + + public class DeviceAvgData + { + public int maxCellVoltage; + public int minCellVoltage; + public int avgCellVoltage; + public int diffCellVoltage; + public int maxCellNum; + public int minCellNum; + public int maxTemp; + public int minTemp; + public int avgTemp; + public int diffTemp; + public int maxTempNum; + public int minTempNum; + + public DeviceAvgData() + { + + } + } + + public class DeviceStatusTotalData + { + public short batteryStatus; + public short warning; + public short protection; + public short status; + } + + public class DeviceStatusData + { + public short batteryStatus; + public short batteryStatus1; + public short warning; + public short protection; + public short protection1; + public short status; + public short faultAndStatus; + public short relayStatus; + public short errorCode; + public short specialAlarm; // 1: Commfail, 2. Gyro, 3, Breaker + + public short faultstatus; // Only for RS-485 + + public short cellBallanceStatus; + public short cellBalanceValue; + public short cellBalanceFlag; + } + + public class DeviceCommStatus + { + public DateTime LastRxTime; + public bool CommFail; + } + + public class DeviceParamData + { + public short CellOverVoltageTrip; + public short CellOverVoltageWarning; + public short CellOverVoltageRelease; + public short CellUnderVoltageTrip; + public short CellUnderVoltageWarning; + public short CellUnderVoltageRelease; + + public short SysOverVoltageTrip; + public short SysOverVoltageWarning; + public short SysOverVoltageRelease; + public short SysUnderVoltageTrip; + public short SysUnderVoltageWarning; + public short SysUnderVoltageRelease; + + public short ChaHighTempTrip; + public short ChaHighTempWarning; + public short ChaHighTempRelease; + public short ChaLowTempTrip; + public short ChaLowTempWarning; + public short ChaLowTempRelease; + public short DchHighTempTrip; + public short DchHighTempWarning; + public short DchHighTempRelease; + public short DchLowTempTrip; + public short DchLowTempWarning; + public short DchLowTempRelease; + + public short ChaOverCurrentTrip1; + public short ChaOverCurrentTrip2; + public short ChaOverCurrentWarning; + public short ChaOverCurrentReleaseTime; + public short ChaOverCurrentTimes; + public short ChaOverCurrentDelay1; + public short ChaOverCurrentDelay2; + + public short DchOverCurrentTrip1; + public short DchOverCurrentTrip2; + public short DchOverCurrentWarning; + public short DchOverCurrentReleaseTime; + public short DchOverCurrentTimes; + public short DchOverCurrentDelay1; + public short DchOverCurrentDelay2; + + public short PcbHighTempTrip; + public short PcbHighTempWarning; + public short PcbHighTempRelease; + + public short EnvLowTempWarning; + public short EnvLowTempTrip; + public short EnvLowTempRelease; + public short EnvHighTempWarning; + public short EnvHighTempTrip; + public short EnvHighTempRelease; + + public short ShortCircuit; + + public short LowSocTrip; + public short LowSocWarning; + public short LowSocRelease; + + public short CellVoltageDifferenceTrip; + public short CellVoltageDifferenceWarning; + public short CellVoltageDifferenceRelease; + public short CellVoltageDifferenceTime; + + public short DefalutParamOption; + public short DefalutParamAll; + public ushort ReadParamAll; + + public DeviceParamData DeepCopy() + { + DeviceParamData newCopy = new DeviceParamData + { + CellOverVoltageTrip = CellOverVoltageTrip, + CellOverVoltageWarning = CellOverVoltageWarning, + CellOverVoltageRelease = CellOverVoltageRelease, + CellUnderVoltageTrip = CellUnderVoltageTrip, + CellUnderVoltageWarning = CellUnderVoltageWarning, + CellUnderVoltageRelease = CellUnderVoltageRelease, + + SysOverVoltageTrip = SysOverVoltageTrip, + SysOverVoltageWarning = SysOverVoltageWarning, + SysOverVoltageRelease = SysOverVoltageRelease, + SysUnderVoltageTrip = SysUnderVoltageTrip, + SysUnderVoltageWarning = SysUnderVoltageWarning, + SysUnderVoltageRelease = SysUnderVoltageRelease, + + ChaHighTempTrip = ChaHighTempTrip, + ChaHighTempWarning = ChaHighTempWarning, + ChaHighTempRelease = ChaHighTempRelease, + ChaLowTempTrip = ChaLowTempTrip, + ChaLowTempWarning = ChaLowTempWarning, + ChaLowTempRelease = ChaLowTempRelease, + DchHighTempTrip = DchHighTempTrip, + DchHighTempWarning = DchHighTempWarning, + DchHighTempRelease = DchHighTempRelease, + DchLowTempTrip = DchLowTempTrip, + DchLowTempWarning = DchLowTempWarning, + DchLowTempRelease = DchLowTempRelease, + + ChaOverCurrentTrip1 = ChaOverCurrentTrip1, + ChaOverCurrentTrip2 = ChaOverCurrentTrip2, + ChaOverCurrentWarning = ChaOverCurrentWarning, + ChaOverCurrentReleaseTime = ChaOverCurrentReleaseTime, + ChaOverCurrentTimes = ChaOverCurrentTimes, + ChaOverCurrentDelay1 = ChaOverCurrentDelay1, + ChaOverCurrentDelay2 = ChaOverCurrentDelay2, + + DchOverCurrentTrip1 = DchOverCurrentTrip1, + DchOverCurrentTrip2 = DchOverCurrentTrip2, + DchOverCurrentWarning = DchOverCurrentWarning, + DchOverCurrentReleaseTime = DchOverCurrentReleaseTime, + DchOverCurrentTimes = DchOverCurrentTimes, + DchOverCurrentDelay1 = DchOverCurrentDelay1, + DchOverCurrentDelay2 = DchOverCurrentDelay2, + + PcbHighTempTrip = PcbHighTempTrip, + PcbHighTempWarning = PcbHighTempWarning, + PcbHighTempRelease = PcbHighTempRelease, + + EnvLowTempWarning = EnvLowTempWarning, + EnvLowTempTrip = EnvLowTempTrip, + EnvLowTempRelease = EnvLowTempRelease, + EnvHighTempWarning = EnvHighTempWarning, + EnvHighTempTrip = EnvHighTempTrip, + EnvHighTempRelease = EnvHighTempRelease, + + ShortCircuit = ShortCircuit, + + LowSocTrip = LowSocTrip, + LowSocWarning = LowSocWarning, + LowSocRelease = LowSocRelease, + + CellVoltageDifferenceTrip = CellVoltageDifferenceTrip, + CellVoltageDifferenceWarning = CellVoltageDifferenceWarning, + CellVoltageDifferenceRelease = CellVoltageDifferenceRelease, + CellVoltageDifferenceTime = CellVoltageDifferenceTime, + + DefalutParamOption = DefalutParamOption, + DefalutParamAll = DefalutParamAll, + ReadParamAll = ReadParamAll, + }; + return newCopy; + } + } + + public class DeviceCalibration + { + public CellVoltageCalib CellVoltge; + public SystemVoltageCalib SystemVoltage; + public ForcedBalControl ForcedBalancing; + public BatteryParameter Battery; + public CurrentCalib Current; + public SystemInfor SystemInfo; + public CapCalibration CapCalib; + public FetCalibration FetCalib; + public ChargeMode ChaMode; + public TAntiTheft AntiTheft; + public TBmsDateTime BmsDateTime; + + public TBalCalib BalCalib; + + public DeviceInforation InvData; + + public TAntiTheftComm AntiTheftComm; + public TAntiTheftGyro AntiTheftGyro; + + public DeviceCalibration() + { + CellVoltge = new CellVoltageCalib(); + SystemVoltage = new SystemVoltageCalib(); + ForcedBalancing = new ForcedBalControl(); + Battery = new BatteryParameter(); + Current = new CurrentCalib(); + SystemInfo = new SystemInfor(); + CapCalib = new CapCalibration(); + FetCalib = new FetCalibration(); + ChaMode = new ChargeMode(); + AntiTheft = new TAntiTheft(); + BmsDateTime = new TBmsDateTime(); + + BalCalib = new TBalCalib(); + + InvData = new DeviceInforation(); + + AntiTheftComm = new TAntiTheftComm(); + AntiTheftGyro = new TAntiTheftGyro(); + } + public DeviceCalibration DeepCopy() + { + DeviceCalibration newCopy = new DeviceCalibration + { + CellVoltge = CellVoltge, + SystemVoltage = SystemVoltage, + ForcedBalancing = ForcedBalancing, + Battery = Battery, + Current = Current, + SystemInfo = SystemInfo, + + CapCalib = CapCalib.DeepCopy(), + AntiTheft = AntiTheft.DeepCopy(), + BalCalib = BalCalib.DeepCopy(), + + FetCalib = FetCalib, + ChaMode = ChaMode.DeepCopy(), + }; + return newCopy; + } + } + + public class TAntiTheftComm + { + public int TimeOut; + public int FuncSwitch; + public int Unlock; + + public TAntiTheftComm() + { + TimeOut = 0; + FuncSwitch = 0; + Unlock = 0; + } + public TAntiTheftComm DeepCopy() + { + TAntiTheftComm newCopy = new TAntiTheftComm + { + TimeOut = TimeOut, + FuncSwitch = FuncSwitch, + Unlock = Unlock + }; + return newCopy; + } + } + public class TAntiTheftGyro + { + public int XAxis; + public int YAxis; + public int ZAxis; + public int GyroPolicySel; + public int GyroFuncSwitch; + public int GyroState; + public int Unlock; + + public TAntiTheftGyro() + { + XAxis = 0; + YAxis = 0; + ZAxis = 0; + GyroPolicySel = 0; + GyroFuncSwitch = 0; + GyroState = 0; + Unlock = 0; + } + public TAntiTheftGyro DeepCopy() + { + TAntiTheftGyro newCopy = new TAntiTheftGyro + { + XAxis = XAxis, + YAxis = YAxis, + ZAxis = ZAxis, + GyroPolicySel = GyroPolicySel, + GyroFuncSwitch = GyroFuncSwitch, + GyroState = GyroState, + Unlock = Unlock, + }; + return newCopy; + } + } + + public class CellVoltageCalib + { + public short CurrentCellNo; // 0: ODD, 1: EVEN + public short OddCellVoltageCalibration_K; + public short OddCellVoltageCalibration_B; + public short EvenCellVoltageCalibration_K; + public short EvenCellVoltageCalibration_B; + } + + public class SystemVoltageCalib + { + [MarshalAs(UnmanagedType.I2, SizeConst = 2)] + public short Calibration_K; + public short Calibration_B; + } + + public class ForcedBalControl + { + public short Control; + public short CellNo; + public bool AutoB; + } + + public class BatteryParameter + { + public short CellQty; + public short TempQty; + public UInt32 Capacity; + } + + public class CurrentCalib + { + public short SelectSubItem; + public short ShuntRange; + public short CurrentZero; + public short VoltageZero; + public Int32 ChgCalibration_K; + public Int32 DchCalibration_K; + public short ChaAndDchSelect; + public short ChargeOption; + } + + public class SystemInfor + { + //public short Id; + public DateTime devTime; + public ushort LastRebootCause; + } + + public class CapCalibration + { + public int DesignCapacity; + public int SocValue; + public int CycleCount; + + public CapCalibration() + { + DesignCapacity = 0; + SocValue = 0; + CycleCount = 0; + } + public CapCalibration DeepCopy() + { + CapCalibration newCopy = new CapCalibration + { + DesignCapacity = DesignCapacity, + SocValue = SocValue, + CycleCount = CycleCount, + }; + return newCopy; + } + } + + public class ChargeMode + { + public int Mode; + public int Value; + + public ChargeMode() + { + Mode = 0; + Value = 0; + } + public ChargeMode DeepCopy() + { + ChargeMode newCopy = new ChargeMode + { + Mode = Mode, + Value = Value, + }; + return newCopy; + } + } + public class TAntiTheft + { + public int Comm; + public int GyroScope; + + public TAntiTheft() + { + Comm = 0; + GyroScope = 0; + } + public TAntiTheft DeepCopy() + { + TAntiTheft newCopy = new TAntiTheft + { + Comm = Comm, + GyroScope = GyroScope, + }; + return newCopy; + } + } + public class TBmsDateTime + { + public string Str; + public int lValue; + public short[] sValue; + + public TBmsDateTime() + { + Str = ""; + lValue = 0; + sValue = new short[2]; + } + public TBmsDateTime DeepCopy() + { + TBmsDateTime newCopy = new TBmsDateTime + { + Str = Str, + lValue = lValue, + }; + for (int i = 0; i < 2; i++) + { + newCopy.sValue[i] = sValue[i]; + } + return newCopy; + } + } + public class TBalCalib + { + public int Volt; + public int Diff; + + public TBalCalib() + { + Volt = 0; + Diff = 0; + } + public TBalCalib DeepCopy() + { + TBalCalib newCopy = new TBalCalib + { + Volt = Volt, + Diff = Diff, + }; + return newCopy; + } + } + + + public class FetCalibration + { + public short FetStatus; + public short DchFetOff; // 6010 + public short ChaFetOff; // 6011 + public short LmtChaFetOff; // 6012 + public short PreChaFetOn; // 6013 + public short HeaterFetOn; // 6014 + public short ChaFetOn; // 6015 + } + + public class DeviceInforation + { + //public string ManuDate_Str; + public byte[] ManuDate_Byte; + + public byte[] Model_Byte; + public byte[] FwVer_Byte; + //public string Model_Str; + //public string FwVer_Str; + public byte[] BMS_SN; + //public string BMS_SN_Str; + public byte[] Module_SN; + + public string VendorName; + public string ProductCode; + public string MajorMinorRev; + public string ModelName; + public string HwSerialNumber; + public string HwProductRev; + public string ManufacturingDate; + public string SwProductRev; + + public DeviceInforation() + { + ManuDate_Byte = new byte[10]; + + Model_Byte = new byte[24]; + FwVer_Byte = new byte[6]; + //Model_Str = " "; + //FwVer_Str = " "; + BMS_SN = new byte[32]; + //BMS_SN_Str = " "; + Module_SN = new byte[32]; + + VendorName = "-"; + ProductCode = "-"; + MajorMinorRev = "-"; + ModelName = "-"; + HwSerialNumber = "-"; + HwProductRev = "-"; + ManufacturingDate = "-"; + SwProductRev = "-"; + } + } + + public class DeviceEtcStatus + { + public short SwitchHW; + public short SwitchWarning; + public short SwitchProtect; + public ushort LogDurationIdle; // min + public ushort LogDurationActive; // min + public UInt32 DataAndTime; + public ushort ChgOCPModel; /* 充电限流 + 0:不限流保护 + 1:始终限流充电 + 2:预充保护 + 4:充电过流后限流 + 8:预充+充电过流后限流 */ + public short ChgLmtVoltage; // mv + public short SOC_StopFloat; // % 暂停浮充Soc + public short SOC_RecvFloat; // % 恢复浮充电压 + public short DurationFloat; // sec + public short DurationIdle; // sec + public short VoltageStopFloat; // 0.1V + public short VoltageRecvFloat; // 0.1V + public short FloatMode; /* 0000: 持续浮充 + 0001:检测电压 + 0002:定时浮充 + 0003:检测SOC */ + public short BalanceVoltage; // mV 均衡启动电压 + public short BalanceDeltaV; // mV 均衡启动压差 + public short WarnLowCapacity; // 低容量告警 + public short HistroyDelete; // 删除数据记录 + } + + public class DeviceMaxValue + { + public short MaxChgCurrent; + public short MaxChgTemperature; + public short MinChgTemperature; + public short FloatChgVolt; + public short BoostChgVolt; + + public DeviceMaxValue() + { + + } + } + public class DeviceGyroValue + { + public short X_axis; + public short Y_axis; + public short Z_axis; + public short Gyro_policy_sel; + public short Gyro_func_sw; + public short Gyro_state; + + public DeviceGyroValue() + { + + } + } + + public class TUartTRxData + { + public int type; + public int length; + public byte[] data; + + public TUartTRxData() + { + type = 0; + length = 0; + data = new byte[256]; + } + public TUartTRxData DeepCopy() + { + TUartTRxData newCopy = new TUartTRxData + { + type = type, + length = length, + data = data + }; + for (int i = 0; i < data.Length; i++) + { + newCopy.data[i] = data[i]; + } + + return newCopy; + } + } + + public class TUartTxBuff + { + public int InPos; + public int OutPos; + public TUartTRxData[] Buf; + public TUartTxBuff() + { + InPos = 0; + OutPos = 0; + Buf = new TUartTRxData[50]; + for (int i = 0; i < 50; i++) + { + Buf[i] = new TUartTRxData(); + } + } + + public bool CheckBuff() + { + if (InPos != OutPos) { return true; } + else { return false; } + } + public void PutBuff(TUartTRxData UartTxData) + { + if (UartTxData != null) + { + Buf[InPos++] = UartTxData.DeepCopy(); + InPos %= 50; + } + } + public TUartTRxData GetBuff() + { + TUartTRxData result = null; + + if (InPos != OutPos) + { + result = Buf[OutPos++].DeepCopy(); + OutPos %= 50; + } + return result; + } + } + + public class THistoryAlarmData + { + public int mNo; + public bool newFdata; + public bool oldFdata; + public bool newWdata; + public bool oldWdata; + public bool newEdata; + public bool oldEdata; + public THistoryAlarmData() + { + mNo = 0; + newFdata = false; + oldFdata = false; + newWdata = false; + oldWdata = false; + newEdata = false; + oldEdata = false; + } + } +} diff --git a/LFP_Manager/DataStructure/csDbConstData.cs b/LFP_Manager/DataStructure/csDbConstData.cs new file mode 100644 index 0000000..1309122 --- /dev/null +++ b/LFP_Manager/DataStructure/csDbConstData.cs @@ -0,0 +1,165 @@ +using System; + +namespace LFP_Manager.DataStructure +{ + internal static class DbConstData + { + // ============================== // + // DB 정의 (SQLite) + // ============================== // + public static class Database + { + // 오타 수정: AlamrHistory → AlarmHistory + public const string FileName = @"\db\AlarmHistory.db"; + public const string TableName = "TAlarmHistory"; + + // NOTE: + // - SQLite 권장 타입(TEXT/INTEGER/REAL) 사용 + // - 마지막 콤마 제거 + // - IF NOT EXISTS 추가 + // - 자동 증가 PK(Id) 추가 + public static readonly string CreateTable = $@" +CREATE TABLE IF NOT EXISTS {TableName} ( + Id INTEGER PRIMARY KEY AUTOINCREMENT, + create_date TEXT NOT NULL, + alarm_code INTEGER, + alarm_status INTEGER, + alarm_cname TEXT, + alarm_sname TEXT, + module_no INTEGER, + ct_no INTEGER, + alarm_param_1 REAL, + alarm_param_2 REAL, + alarm_param_3 REAL +);"; + + public static readonly string CreateIndexes = $@" +CREATE INDEX IF NOT EXISTS IX_{TableName}_create_date ON {TableName}(create_date); +CREATE INDEX IF NOT EXISTS IX_{TableName}_create_date_alarm_code ON {TableName}(create_date, alarm_code); +CREATE INDEX IF NOT EXISTS IX_{TableName}_create_date_module_no ON {TableName}(create_date, module_no); +-- 선택: 코드/상태/모듈 단독 인덱스(필요할 때만) +-- CREATE INDEX IF NOT EXISTS IX_{TableName}_alarm_code ON {TableName}(alarm_code); +-- CREATE INDEX IF NOT EXISTS IX_{TableName}_alarm_status ON {TableName}(alarm_status); +-- CREATE INDEX IF NOT EXISTS IX_{TableName}_module_no ON {TableName}(module_no); +"; + } + + // ============================== // + // Alarm 코드 정의 (enum) + // - 추가하신 15~18 포함 + // - 기존 숫자값 유지 (호환성) + // ============================== // + public enum Alarm + { + CELL_UNDER_VOLTAGE = 0, + CELL_OVER_VOLTAGE = 1, + UNDER_VOLTAGE = 2, + OVER_VOLTAGE = 3, // 오타 수정: VOLTAGAE → VOLTAGE + CHARGE_OVER_TEMPERATURE = 4, + DISCHARGE_OVER_TEMPERATURE = 5, + CHARGE_LOW_TEMPERATURE = 6, + DISCHARGE_LOW_TEMPERATURE = 7, + CHARGE_OVER_CURRENT = 8, + DISCHARGE_OVER_CURRENT = 9, + LOW_SOC = 10, + LOW_SOH = 11, + CELL_VOLTAGE_DIFF = 12, + SHORT_CIRCUIT = 13, + COMM_FAIL = 14, + MOSFET_OVER_TERMPERATURE = 15, + + CB_OFF = 16, + + VOLTAGE_MEASUREMENT_ERROR = 17, // 신규 + TEMPERATURE_MEASUREMENT_ERROR = 18, // 신규 + BATTERY_CELL_UNBALANCE = 19, // 신규 + EMERGENCY_ALARM = 20, // 신규 + + STS_STAND_BY = 21, + STS_CHARGING = 22, // 오타 수정: CHARING → CHARGING + STS_DISCHARGING = 23, + STS_PROTECTED = 24, + STS_PRE_CHARGING = 25, + STS_UNKNOWN = 30, + START = 31, + STOP = 32, + } + + // index = 코드 + private static readonly string[] AlarmNames = + { + /* 0 */ "CELL UNDER VOLTAGE", + /* 1 */ "CELL OVER VOLTAGE", + /* 2 */ "UNDER VOLTAGE", + /* 3 */ "OVER VOLTAGE", + /* 4 */ "CHARGE OVER TEMPERATURE", + /* 5 */ "DISCHARGE OVER TEMPERATURE", + /* 6 */ "CHARGE LOW TEMPERATURE", + /* 7 */ "DISCHARGE LOW TEMPERATURE", + /* 8 */ "CHARGE OVER CURRENT", + /* 9 */ "DISCHARGE OVER CURRENT", + /* 10 */ "LOW SOC", + /* 11 */ "LOW SOH", + /* 12 */ "CELL VOLTAGE DIFFERENCE", + /* 13 */ "SHORT CIRCUIT", + /* 14 */ "COMM FAIL", + /* 15 */ "MOSFET OVER TEMPERATURE", + /* 16 */ "CIRCUIT BREAKER OFF", + /* 17 */ "VOLTAGE MEASUREMENT ERROR", + /* 18 */ "TEMPERATURE MEASUREMENT ERROR", + /* 19 */ "BATTERY CELL UNBALANCE", + /* 20 */ "EMERGENCY ALARM", + /* 21 */ "STAND BY", + /* 22 */ "CHARGING", + /* 23 */ "DISCHARGING", + /* 24 */ "PROTECTED", + /* 25 */ "PRE-CHARGING", + /* 26 */ "RESERVED", + /* 27 */ "RESERVED", + /* 28 */ "RESERVED", + /* 29 */ "RESERVED", + /* 30 */ "UNKNOWN", + /* 31 */ "START", + /* 32 */ "STOP", + }; + + // 기존 상수 ALARM_NAME_SIZE는 실제 길이와 어긋나므로 제거 권장. + // 필요하시면 아래 프로퍼티로 대체하세요. + public static int AlarmNameCount => AlarmNames.Length; + + public static string GetAlarmName(int code) + => (code >= 0 && code < AlarmNames.Length) ? AlarmNames[code] : $"UNKNOWN({code})"; + + public static string GetAlarmName(Alarm code) => GetAlarmName((int)code); + + // ============================== // + // Flag 정의 (enum) + // ============================== // + public enum Flag + { + RELEASE = 0, + WARNING = 1, + PROTECT = 2, + ERROR = 3, + STS_CHANGED = 4, + INFORMATION = 5, + } + + private static readonly string[] FlagNames = + { + "RELEASE", + "WARNING", + "PROTECT", + "ERROR", + "STATUS CHANGED", + "INFORMATION", + }; + + public static int FlagNameCount => FlagNames.Length; + + public static string GetFlagName(int code) + => (code >= 0 && code < FlagNames.Length) ? FlagNames[code] : $"UNKNOWN({code})"; + + public static string GetFlagName(Flag code) => GetFlagName((int)code); + } +} diff --git a/LFP_Manager/Form1.Designer.cs b/LFP_Manager/Form1.Designer.cs new file mode 100644 index 0000000..24932dc --- /dev/null +++ b/LFP_Manager/Form1.Designer.cs @@ -0,0 +1,47 @@ +namespace snmp_sim +{ + partial class fmMain + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.SuspendLayout(); + // + // fmMain + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(284, 262); + this.Name = "fmMain"; + this.Text = "Form1"; + this.ResumeLayout(false); + + } + + #endregion + } +} + diff --git a/LFP_Manager/Form1.cs b/LFP_Manager/Form1.cs new file mode 100644 index 0000000..9a387a9 --- /dev/null +++ b/LFP_Manager/Form1.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace snmp_sim +{ + public partial class fmMain : Form + { + public fmMain() + { + InitializeComponent(); + } + } +} diff --git a/LFP_Manager/Form1.resx b/LFP_Manager/Form1.resx new file mode 100644 index 0000000..19dc0dd --- /dev/null +++ b/LFP_Manager/Form1.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/LFP_Manager/Forms/FmxChangePw.Designer.cs b/LFP_Manager/Forms/FmxChangePw.Designer.cs new file mode 100644 index 0000000..111805f --- /dev/null +++ b/LFP_Manager/Forms/FmxChangePw.Designer.cs @@ -0,0 +1,374 @@ +namespace LFP_Manager.Forms +{ + partial class FmxChangePw + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.Root = new DevExpress.XtraLayout.LayoutControlGroup(); + this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.RbMaster = new System.Windows.Forms.RadioButton(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.RbEngineer = new System.Windows.Forms.RadioButton(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.RbTechnician = new System.Windows.Forms.RadioButton(); + this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + this.LbCurrentLevel = new DevExpress.XtraLayout.SimpleLabelItem(); + this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.TePW = new DevExpress.XtraEditors.TextEdit(); + this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.BtnApply = new DevExpress.XtraEditors.SimpleButton(); + this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem(); + this.BtnClose = new DevExpress.XtraEditors.SimpleButton(); + this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem(); + this.TmrDisplay = new System.Windows.Forms.Timer(this.components); + this.RbUser = new System.Windows.Forms.RadioButton(); + this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.LbCurrentLevel)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TePW.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.RbUser); + this.layoutControl1.Controls.Add(this.BtnClose); + this.layoutControl1.Controls.Add(this.BtnApply); + this.layoutControl1.Controls.Add(this.TePW); + this.layoutControl1.Controls.Add(this.RbTechnician); + this.layoutControl1.Controls.Add(this.RbEngineer); + this.layoutControl1.Controls.Add(this.RbMaster); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(751, 0, 650, 400); + this.layoutControl1.Root = this.Root; + this.layoutControl1.Size = new System.Drawing.Size(500, 233); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // Root + // + this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.Root.GroupBordersVisible = false; + this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.emptySpaceItem1, + this.layoutControlGroup1, + this.layoutControlGroup2, + this.layoutControlGroup3, + this.layoutControlItem5, + this.layoutControlItem6}); + this.Root.Name = "Root"; + this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.Root.Size = new System.Drawing.Size(500, 233); + this.Root.TextVisible = false; + // + // emptySpaceItem1 + // + this.emptySpaceItem1.AllowHotTrack = false; + this.emptySpaceItem1.Location = new System.Drawing.Point(0, 176); + this.emptySpaceItem1.Name = "emptySpaceItem1"; + this.emptySpaceItem1.Size = new System.Drawing.Size(498, 16); + this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlGroup1 + // + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem2, + this.layoutControlItem1, + this.layoutControlItem3, + this.layoutControlItem7}); + this.layoutControlGroup1.Location = new System.Drawing.Point(0, 61); + this.layoutControlGroup1.Name = "layoutControlGroup1"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup1.Size = new System.Drawing.Size(498, 58); + this.layoutControlGroup1.Text = "Control Level"; + // + // RbMaster + // + this.RbMaster.Location = new System.Drawing.Point(7, 89); + this.RbMaster.Name = "RbMaster"; + this.RbMaster.Size = new System.Drawing.Size(118, 25); + this.RbMaster.TabIndex = 8; + this.RbMaster.TabStop = true; + this.RbMaster.Text = "Master"; + this.RbMaster.UseVisualStyleBackColor = true; + this.RbMaster.CheckedChanged += new System.EventHandler(this.RbMaster_CheckedChanged); + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.RbMaster; + this.layoutControlItem2.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem2.MaxSize = new System.Drawing.Size(0, 29); + this.layoutControlItem2.MinSize = new System.Drawing.Size(24, 29); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(122, 29); + this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // RbEngineer + // + this.RbEngineer.Location = new System.Drawing.Point(129, 89); + this.RbEngineer.Name = "RbEngineer"; + this.RbEngineer.Size = new System.Drawing.Size(119, 25); + this.RbEngineer.TabIndex = 9; + this.RbEngineer.TabStop = true; + this.RbEngineer.Text = "Engineer"; + this.RbEngineer.UseVisualStyleBackColor = true; + this.RbEngineer.CheckedChanged += new System.EventHandler(this.RbEngineer_CheckedChanged); + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.RbEngineer; + this.layoutControlItem1.Location = new System.Drawing.Point(122, 0); + this.layoutControlItem1.MinSize = new System.Drawing.Size(24, 29); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(123, 29); + this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // RbTechnician + // + this.RbTechnician.Location = new System.Drawing.Point(252, 89); + this.RbTechnician.Name = "RbTechnician"; + this.RbTechnician.Size = new System.Drawing.Size(118, 25); + this.RbTechnician.TabIndex = 10; + this.RbTechnician.TabStop = true; + this.RbTechnician.Text = "Technician"; + this.RbTechnician.UseVisualStyleBackColor = true; + this.RbTechnician.CheckedChanged += new System.EventHandler(this.RbTechnician_CheckedChanged); + // + // layoutControlItem3 + // + this.layoutControlItem3.Control = this.RbTechnician; + this.layoutControlItem3.Location = new System.Drawing.Point(245, 0); + this.layoutControlItem3.MinSize = new System.Drawing.Size(24, 29); + this.layoutControlItem3.Name = "layoutControlItem3"; + this.layoutControlItem3.Size = new System.Drawing.Size(122, 29); + this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem3.TextVisible = false; + // + // LbCurrentLevel + // + this.LbCurrentLevel.AllowHotTrack = false; + this.LbCurrentLevel.Location = new System.Drawing.Point(0, 0); + this.LbCurrentLevel.MaxSize = new System.Drawing.Size(0, 32); + this.LbCurrentLevel.MinSize = new System.Drawing.Size(126, 32); + this.LbCurrentLevel.Name = "LbCurrentLevel"; + this.LbCurrentLevel.Size = new System.Drawing.Size(490, 32); + this.LbCurrentLevel.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.LbCurrentLevel.Text = " Current Level: "; + this.LbCurrentLevel.TextSize = new System.Drawing.Size(85, 14); + // + // layoutControlGroup2 + // + this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.LbCurrentLevel}); + this.layoutControlGroup2.Location = new System.Drawing.Point(0, 0); + this.layoutControlGroup2.Name = "layoutControlGroup2"; + this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup2.Size = new System.Drawing.Size(498, 61); + this.layoutControlGroup2.Text = "Control Level"; + // + // TePW + // + this.TePW.Location = new System.Drawing.Point(7, 147); + this.TePW.Name = "TePW"; + this.TePW.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11F); + this.TePW.Properties.Appearance.Options.UseFont = true; + this.TePW.Properties.Appearance.Options.UseTextOptions = true; + this.TePW.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.TePW.Properties.PasswordChar = '*'; + this.TePW.Size = new System.Drawing.Size(486, 24); + this.TePW.StyleController = this.layoutControl1; + this.TePW.TabIndex = 11; + // + // layoutControlItem4 + // + this.layoutControlItem4.Control = this.TePW; + this.layoutControlItem4.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem4.MaxSize = new System.Drawing.Size(0, 28); + this.layoutControlItem4.MinSize = new System.Drawing.Size(171, 28); + this.layoutControlItem4.Name = "layoutControlItem4"; + this.layoutControlItem4.Size = new System.Drawing.Size(490, 28); + this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem4.TextVisible = false; + // + // layoutControlGroup3 + // + this.layoutControlGroup3.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem4}); + this.layoutControlGroup3.Location = new System.Drawing.Point(0, 119); + this.layoutControlGroup3.Name = "layoutControlGroup3"; + this.layoutControlGroup3.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup3.Size = new System.Drawing.Size(498, 57); + this.layoutControlGroup3.Text = "Password"; + // + // BtnApply + // + this.BtnApply.Location = new System.Drawing.Point(3, 195); + this.BtnApply.Name = "BtnApply"; + this.BtnApply.Size = new System.Drawing.Size(245, 35); + this.BtnApply.StyleController = this.layoutControl1; + this.BtnApply.TabIndex = 12; + this.BtnApply.Text = "Apply"; + this.BtnApply.Click += new System.EventHandler(this.BtnApply_Click); + // + // layoutControlItem5 + // + this.layoutControlItem5.Control = this.BtnApply; + this.layoutControlItem5.Location = new System.Drawing.Point(0, 192); + this.layoutControlItem5.MinSize = new System.Drawing.Size(89, 26); + this.layoutControlItem5.Name = "layoutControlItem5"; + this.layoutControlItem5.Size = new System.Drawing.Size(249, 39); + this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem5.TextVisible = false; + // + // BtnClose + // + this.BtnClose.Location = new System.Drawing.Point(252, 195); + this.BtnClose.Name = "BtnClose"; + this.BtnClose.Size = new System.Drawing.Size(245, 35); + this.BtnClose.StyleController = this.layoutControl1; + this.BtnClose.TabIndex = 13; + this.BtnClose.Text = "Close"; + this.BtnClose.Click += new System.EventHandler(this.BtnClose_Click); + // + // layoutControlItem6 + // + this.layoutControlItem6.Control = this.BtnClose; + this.layoutControlItem6.Location = new System.Drawing.Point(249, 192); + this.layoutControlItem6.MinSize = new System.Drawing.Size(89, 26); + this.layoutControlItem6.Name = "layoutControlItem6"; + this.layoutControlItem6.Size = new System.Drawing.Size(249, 39); + this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem6.TextVisible = false; + // + // TmrDisplay + // + this.TmrDisplay.Interval = 500; + this.TmrDisplay.Tick += new System.EventHandler(this.TmrDisplay_Tick); + // + // RbUser + // + this.RbUser.Location = new System.Drawing.Point(374, 89); + this.RbUser.Name = "RbUser"; + this.RbUser.Size = new System.Drawing.Size(119, 25); + this.RbUser.TabIndex = 14; + this.RbUser.TabStop = true; + this.RbUser.Text = "User"; + this.RbUser.UseVisualStyleBackColor = true; + this.RbUser.CheckedChanged += new System.EventHandler(this.RbUser_CheckedChanged); + // + // layoutControlItem7 + // + this.layoutControlItem7.Control = this.RbUser; + this.layoutControlItem7.Location = new System.Drawing.Point(367, 0); + this.layoutControlItem7.Name = "layoutControlItem7"; + this.layoutControlItem7.Size = new System.Drawing.Size(123, 29); + this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem7.TextVisible = false; + // + // FmxLevelConfig + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(500, 233); + this.Controls.Add(this.layoutControl1); + this.IconOptions.Image = global::LFP_Manager.Properties.Resources.AMO_LOGO1; + this.Name = "FmxLevelConfig"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Control Level Config"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FmxLevelConfig_FormClosing); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.LbCurrentLevel)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TePW.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup Root; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private System.Windows.Forms.RadioButton RbTechnician; + private System.Windows.Forms.RadioButton RbEngineer; + private System.Windows.Forms.RadioButton RbMaster; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2; + private DevExpress.XtraLayout.SimpleLabelItem LbCurrentLevel; + private DevExpress.XtraEditors.TextEdit TePW; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4; + private DevExpress.XtraEditors.SimpleButton BtnClose; + private DevExpress.XtraEditors.SimpleButton BtnApply; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6; + private System.Windows.Forms.Timer TmrDisplay; + private System.Windows.Forms.RadioButton RbUser; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7; + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/FmxChangePw.cs b/LFP_Manager/Forms/FmxChangePw.cs new file mode 100644 index 0000000..685b299 --- /dev/null +++ b/LFP_Manager/Forms/FmxChangePw.cs @@ -0,0 +1,184 @@ +using DevExpress.XtraEditors; +using DevExpress.XtraPrinting.Native.LayoutAdjustment; +using LFP_Manager.DataStructure; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace LFP_Manager.Forms +{ + public partial class FmxChangePw : DevExpress.XtraEditors.XtraForm + { + #region VARIABLES + + CommConfig Config; + + #endregion + + #region CONSTRUCTORS + public FmxChangePw() + { + InitializeComponent(); + } + + public FmxChangePw(CommConfig aConfig) + { + InitializeComponent(); + + Config = aConfig; + + switch (Config.ControlLevel) + { + case 0: // User Level + RbUser.Checked = true; + break; + case 1: // Technician Level + RbTechnician.Checked = true; + break; + case 2: // Engineer Level + RbEngineer.Checked = true; + break; + case 3: // Master Level + RbMaster.Checked = true; + break; + default: // User Level + RbUser.Checked = true; + break; + } + DisplayStatus(); + TmrDisplay.Start(); + } + #endregion + + #region BUTTON EVENT + private void BtnClose_Click(object sender, EventArgs e) + { + Close(); + } + private void BtnApply_Click(object sender, EventArgs e) + { + string cPW = TePW.Text; + + if (RbMaster.Checked) + { + if (Config.MasterPw == cPW) + { + Config.ControlLevel = 3; + MessageBox.Show("Complete change to Mastar Level", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + else + { + MessageBox.Show("Wrong password for Master Level", "Fail", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + else if (RbEngineer.Checked) + { + if (Config.EngineerPw == cPW) + { + Config.ControlLevel = 2; + MessageBox.Show("Complete change to Engineer Level", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + else + { + MessageBox.Show("Wrong password for Engineer Level", "Fail", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + else if (RbTechnician.Checked) + { + if (Config.TechnicianPw == cPW) + { + Config.ControlLevel = 1; + MessageBox.Show("Complete change to Technician Level", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + else + { + MessageBox.Show("Wrong password for Technician Level", "Fail", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + else if (RbUser.Checked) + { + Config.ControlLevel = 0; + } + } + #endregion + + #region DISPLAY FUNCTION + private void DisplayStatus() + { + switch (Config.ControlLevel) + { + case 0: // User Level + LbCurrentLevel.Text = " Current Level: User Level"; + break; + case 1: // Technician Level + LbCurrentLevel.Text = " Current Level: Technician Level"; + break; + case 2: // Engineer Level + LbCurrentLevel.Text = " Current Level: Engineer Level"; + break; + case 3: // Master Level + LbCurrentLevel.Text = " Current Level: Master Level"; + break; + } + } + #endregion + + #region FORM EVENT + private void FmxLevelConfig_FormClosing(object sender, FormClosingEventArgs e) + { + TmrDisplay.Stop(); + } + #endregion + + #region COMPONENT EVENT + private void RbMaster_CheckedChanged(object sender, EventArgs e) + { + if (RbMaster.Checked) + { + TePW.Enabled = true; + } + TePW.Text = ""; + } + + private void RbEngineer_CheckedChanged(object sender, EventArgs e) + { + if (RbEngineer.Checked) + { + TePW.Enabled = true; + } + TePW.Text = ""; + } + + private void RbTechnician_CheckedChanged(object sender, EventArgs e) + { + if (RbTechnician.Checked) + { + TePW.Enabled = true; + } + TePW.Text = ""; + } + + private void RbUser_CheckedChanged(object sender, EventArgs e) + { + if (RbUser.Checked) + { + TePW.Enabled = false; + } + TePW.Text = ""; + } + #endregion + + #region TIMER EVENT + private void TmrDisplay_Tick(object sender, EventArgs e) + { + DisplayStatus(); + } + #endregion + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/FmxChangePw.resx b/LFP_Manager/Forms/FmxChangePw.resx new file mode 100644 index 0000000..c9162a8 --- /dev/null +++ b/LFP_Manager/Forms/FmxChangePw.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/LFP_Manager/Forms/FmxInformation.Designer.cs b/LFP_Manager/Forms/FmxInformation.Designer.cs new file mode 100644 index 0000000..f6bdce1 --- /dev/null +++ b/LFP_Manager/Forms/FmxInformation.Designer.cs @@ -0,0 +1,195 @@ +namespace LFP_Manager.Forms +{ + partial class FmxInformation + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.Root = new DevExpress.XtraLayout.LayoutControlGroup(); + this.LbDeviceId = new DevExpress.XtraEditors.LabelControl(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.BtnClose = new DevExpress.XtraEditors.SimpleButton(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.TmrDisplay = new System.Windows.Forms.Timer(this.components); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.BtnClose); + this.layoutControl1.Controls.Add(this.LbDeviceId); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1018, 137, 650, 400); + this.layoutControl1.Root = this.Root; + this.layoutControl1.Size = new System.Drawing.Size(767, 398); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // Root + // + this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.Root.GroupBordersVisible = false; + this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.emptySpaceItem1, + this.layoutControlItem2, + this.layoutControlGroup1}); + this.Root.Name = "Root"; + this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.Root.Size = new System.Drawing.Size(767, 398); + this.Root.TextVisible = false; + // + // LbDeviceId + // + this.LbDeviceId.Appearance.Font = new System.Drawing.Font("Tahoma", 20F); + this.LbDeviceId.Appearance.Options.UseFont = true; + this.LbDeviceId.Appearance.Options.UseTextOptions = true; + this.LbDeviceId.Appearance.TextOptions.VAlignment = DevExpress.Utils.VertAlignment.Top; + this.LbDeviceId.Location = new System.Drawing.Point(23, 28); + this.LbDeviceId.Name = "LbDeviceId"; + this.LbDeviceId.Size = new System.Drawing.Size(737, 332); + this.LbDeviceId.StyleController = this.layoutControl1; + this.LbDeviceId.TabIndex = 4; + this.LbDeviceId.Text = "-"; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.LbDeviceId; + this.layoutControlItem1.Location = new System.Drawing.Point(16, 0); + this.layoutControlItem1.MinSize = new System.Drawing.Size(74, 18); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(741, 336); + this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // emptySpaceItem1 + // + this.emptySpaceItem1.AllowHotTrack = false; + this.emptySpaceItem1.Location = new System.Drawing.Point(0, 365); + this.emptySpaceItem1.MinSize = new System.Drawing.Size(104, 24); + this.emptySpaceItem1.Name = "emptySpaceItem1"; + this.emptySpaceItem1.Size = new System.Drawing.Size(648, 31); + this.emptySpaceItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0); + // + // BtnClose + // + this.BtnClose.Location = new System.Drawing.Point(651, 368); + this.BtnClose.Name = "BtnClose"; + this.BtnClose.Size = new System.Drawing.Size(113, 27); + this.BtnClose.StyleController = this.layoutControl1; + this.BtnClose.TabIndex = 5; + this.BtnClose.Text = "Close"; + this.BtnClose.Click += new System.EventHandler(this.BtnClose_Click); + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.BtnClose; + this.layoutControlItem2.Location = new System.Drawing.Point(648, 365); + this.layoutControlItem2.MinSize = new System.Drawing.Size(89, 26); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(117, 31); + this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // emptySpaceItem2 + // + this.emptySpaceItem2.AllowHotTrack = false; + this.emptySpaceItem2.Location = new System.Drawing.Point(0, 0); + this.emptySpaceItem2.MinSize = new System.Drawing.Size(10, 24); + this.emptySpaceItem2.Name = "emptySpaceItem2"; + this.emptySpaceItem2.Size = new System.Drawing.Size(16, 336); + this.emptySpaceItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0); + // + // TmrDisplay + // + this.TmrDisplay.Enabled = true; + this.TmrDisplay.Interval = 500; + this.TmrDisplay.Tick += new System.EventHandler(this.TmrDisplay_Tick); + // + // layoutControlGroup1 + // + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.emptySpaceItem2, + this.layoutControlItem1}); + this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0); + this.layoutControlGroup1.Name = "layoutControlGroup1"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup1.Size = new System.Drawing.Size(765, 365); + this.layoutControlGroup1.Text = "Device ID"; + // + // FmxInformation + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(767, 398); + this.Controls.Add(this.layoutControl1); + this.IconOptions.Image = global::LFP_Manager.Properties.Resources.AMO_LOGO1; + this.Name = "FmxInformation"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Information"; + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup Root; + private DevExpress.XtraEditors.SimpleButton BtnClose; + private DevExpress.XtraEditors.LabelControl LbDeviceId; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2; + private System.Windows.Forms.Timer TmrDisplay; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/FmxInformation.cs b/LFP_Manager/Forms/FmxInformation.cs new file mode 100644 index 0000000..f5d99d4 --- /dev/null +++ b/LFP_Manager/Forms/FmxInformation.cs @@ -0,0 +1,66 @@ +using DevExpress.XtraEditors; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +using LFP_Manager.DataStructure; + +namespace LFP_Manager.Forms +{ + public partial class FmxInformation : DevExpress.XtraEditors.XtraForm + { + #region VARIABLES + private int sID; + private CommConfig Config; + private CsDeviceData.DeviceModuleData SystemData; + #endregion + + #region CONSTRUCTORS + public FmxInformation(int SystemID, CommConfig aConfig, ref CsDeviceData.DeviceModuleData mData) + { + InitializeComponent(); + + sID = SystemID; + Config = aConfig; + SystemData = mData; + } + #endregion + + #region TIMER EVENT + private void TmrDisplay_Tick(object sender, EventArgs e) + { + DisplayDeviceID(); + } + #endregion + + #region DISPLAY FUNCTION + private void DisplayDeviceID() + { + string tmp = ""; + tmp += string.Format("Vendor Name : {0}\r\n", SystemData.Information.VendorName); + tmp += string.Format("Product Code : {0}\r\n", SystemData.Information.ProductCode); + tmp += string.Format("Major Minor Revision : {0}\r\n", SystemData.Information.MajorMinorRev); + tmp += string.Format("Model Name : {0}\r\n", SystemData.Information.ModelName); + tmp += string.Format("Hardware Serial Number : {0}\r\n", SystemData.Information.HwSerialNumber); + tmp += string.Format("Hardware Product Revision : {0}\r\n", SystemData.Information.HwProductRev); + tmp += string.Format("Manufacturing date : {0}\r\n", SystemData.Information.ManufacturingDate); + tmp += string.Format("SW Product Revision : {0}\r\n", SystemData.Information.SwProductRev); + + LbDeviceId.Text = tmp; + } + #endregion + + #region BUTTON EVENT + private void BtnClose_Click(object sender, EventArgs e) + { + Close(); + } + #endregion + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/FmxInformation.resx b/LFP_Manager/Forms/FmxInformation.resx new file mode 100644 index 0000000..c9162a8 --- /dev/null +++ b/LFP_Manager/Forms/FmxInformation.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/LFP_Manager/Forms/FmxLevelConfig.Designer.cs b/LFP_Manager/Forms/FmxLevelConfig.Designer.cs new file mode 100644 index 0000000..dac7b1a --- /dev/null +++ b/LFP_Manager/Forms/FmxLevelConfig.Designer.cs @@ -0,0 +1,374 @@ +namespace LFP_Manager.Forms +{ + partial class FmxLevelConfig + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.Root = new DevExpress.XtraLayout.LayoutControlGroup(); + this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.RbMaster = new System.Windows.Forms.RadioButton(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.RbEngineer = new System.Windows.Forms.RadioButton(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.RbTechnician = new System.Windows.Forms.RadioButton(); + this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + this.LbCurrentLevel = new DevExpress.XtraLayout.SimpleLabelItem(); + this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.TePW = new DevExpress.XtraEditors.TextEdit(); + this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.BtnApply = new DevExpress.XtraEditors.SimpleButton(); + this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem(); + this.BtnClose = new DevExpress.XtraEditors.SimpleButton(); + this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem(); + this.TmrDisplay = new System.Windows.Forms.Timer(this.components); + this.RbUser = new System.Windows.Forms.RadioButton(); + this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.LbCurrentLevel)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TePW.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.RbUser); + this.layoutControl1.Controls.Add(this.BtnClose); + this.layoutControl1.Controls.Add(this.BtnApply); + this.layoutControl1.Controls.Add(this.TePW); + this.layoutControl1.Controls.Add(this.RbTechnician); + this.layoutControl1.Controls.Add(this.RbEngineer); + this.layoutControl1.Controls.Add(this.RbMaster); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(751, 0, 650, 400); + this.layoutControl1.Root = this.Root; + this.layoutControl1.Size = new System.Drawing.Size(500, 233); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // Root + // + this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.Root.GroupBordersVisible = false; + this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.emptySpaceItem1, + this.layoutControlGroup1, + this.layoutControlGroup2, + this.layoutControlGroup3, + this.layoutControlItem5, + this.layoutControlItem6}); + this.Root.Name = "Root"; + this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.Root.Size = new System.Drawing.Size(500, 233); + this.Root.TextVisible = false; + // + // emptySpaceItem1 + // + this.emptySpaceItem1.AllowHotTrack = false; + this.emptySpaceItem1.Location = new System.Drawing.Point(0, 176); + this.emptySpaceItem1.Name = "emptySpaceItem1"; + this.emptySpaceItem1.Size = new System.Drawing.Size(498, 16); + this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlGroup1 + // + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem2, + this.layoutControlItem1, + this.layoutControlItem3, + this.layoutControlItem7}); + this.layoutControlGroup1.Location = new System.Drawing.Point(0, 61); + this.layoutControlGroup1.Name = "layoutControlGroup1"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup1.Size = new System.Drawing.Size(498, 58); + this.layoutControlGroup1.Text = "Control Level"; + // + // RbMaster + // + this.RbMaster.Location = new System.Drawing.Point(7, 89); + this.RbMaster.Name = "RbMaster"; + this.RbMaster.Size = new System.Drawing.Size(118, 25); + this.RbMaster.TabIndex = 8; + this.RbMaster.TabStop = true; + this.RbMaster.Text = "Master"; + this.RbMaster.UseVisualStyleBackColor = true; + this.RbMaster.CheckedChanged += new System.EventHandler(this.RbMaster_CheckedChanged); + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.RbMaster; + this.layoutControlItem2.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem2.MaxSize = new System.Drawing.Size(0, 29); + this.layoutControlItem2.MinSize = new System.Drawing.Size(24, 29); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(122, 29); + this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // RbEngineer + // + this.RbEngineer.Location = new System.Drawing.Point(129, 89); + this.RbEngineer.Name = "RbEngineer"; + this.RbEngineer.Size = new System.Drawing.Size(119, 25); + this.RbEngineer.TabIndex = 9; + this.RbEngineer.TabStop = true; + this.RbEngineer.Text = "Engineer"; + this.RbEngineer.UseVisualStyleBackColor = true; + this.RbEngineer.CheckedChanged += new System.EventHandler(this.RbEngineer_CheckedChanged); + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.RbEngineer; + this.layoutControlItem1.Location = new System.Drawing.Point(122, 0); + this.layoutControlItem1.MinSize = new System.Drawing.Size(24, 29); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(123, 29); + this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // RbTechnician + // + this.RbTechnician.Location = new System.Drawing.Point(252, 89); + this.RbTechnician.Name = "RbTechnician"; + this.RbTechnician.Size = new System.Drawing.Size(118, 25); + this.RbTechnician.TabIndex = 10; + this.RbTechnician.TabStop = true; + this.RbTechnician.Text = "Technician"; + this.RbTechnician.UseVisualStyleBackColor = true; + this.RbTechnician.CheckedChanged += new System.EventHandler(this.RbTechnician_CheckedChanged); + // + // layoutControlItem3 + // + this.layoutControlItem3.Control = this.RbTechnician; + this.layoutControlItem3.Location = new System.Drawing.Point(245, 0); + this.layoutControlItem3.MinSize = new System.Drawing.Size(24, 29); + this.layoutControlItem3.Name = "layoutControlItem3"; + this.layoutControlItem3.Size = new System.Drawing.Size(122, 29); + this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem3.TextVisible = false; + // + // LbCurrentLevel + // + this.LbCurrentLevel.AllowHotTrack = false; + this.LbCurrentLevel.Location = new System.Drawing.Point(0, 0); + this.LbCurrentLevel.MaxSize = new System.Drawing.Size(0, 32); + this.LbCurrentLevel.MinSize = new System.Drawing.Size(126, 32); + this.LbCurrentLevel.Name = "LbCurrentLevel"; + this.LbCurrentLevel.Size = new System.Drawing.Size(490, 32); + this.LbCurrentLevel.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.LbCurrentLevel.Text = " Current Level: "; + this.LbCurrentLevel.TextSize = new System.Drawing.Size(85, 14); + // + // layoutControlGroup2 + // + this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.LbCurrentLevel}); + this.layoutControlGroup2.Location = new System.Drawing.Point(0, 0); + this.layoutControlGroup2.Name = "layoutControlGroup2"; + this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup2.Size = new System.Drawing.Size(498, 61); + this.layoutControlGroup2.Text = "Control Level"; + // + // TePW + // + this.TePW.Location = new System.Drawing.Point(7, 147); + this.TePW.Name = "TePW"; + this.TePW.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 11F); + this.TePW.Properties.Appearance.Options.UseFont = true; + this.TePW.Properties.Appearance.Options.UseTextOptions = true; + this.TePW.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.TePW.Properties.PasswordChar = '*'; + this.TePW.Size = new System.Drawing.Size(486, 24); + this.TePW.StyleController = this.layoutControl1; + this.TePW.TabIndex = 11; + // + // layoutControlItem4 + // + this.layoutControlItem4.Control = this.TePW; + this.layoutControlItem4.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem4.MaxSize = new System.Drawing.Size(0, 28); + this.layoutControlItem4.MinSize = new System.Drawing.Size(171, 28); + this.layoutControlItem4.Name = "layoutControlItem4"; + this.layoutControlItem4.Size = new System.Drawing.Size(490, 28); + this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem4.TextVisible = false; + // + // layoutControlGroup3 + // + this.layoutControlGroup3.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem4}); + this.layoutControlGroup3.Location = new System.Drawing.Point(0, 119); + this.layoutControlGroup3.Name = "layoutControlGroup3"; + this.layoutControlGroup3.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup3.Size = new System.Drawing.Size(498, 57); + this.layoutControlGroup3.Text = "Password"; + // + // BtnApply + // + this.BtnApply.Location = new System.Drawing.Point(3, 195); + this.BtnApply.Name = "BtnApply"; + this.BtnApply.Size = new System.Drawing.Size(245, 35); + this.BtnApply.StyleController = this.layoutControl1; + this.BtnApply.TabIndex = 12; + this.BtnApply.Text = "Apply"; + this.BtnApply.Click += new System.EventHandler(this.BtnApply_Click); + // + // layoutControlItem5 + // + this.layoutControlItem5.Control = this.BtnApply; + this.layoutControlItem5.Location = new System.Drawing.Point(0, 192); + this.layoutControlItem5.MinSize = new System.Drawing.Size(89, 26); + this.layoutControlItem5.Name = "layoutControlItem5"; + this.layoutControlItem5.Size = new System.Drawing.Size(249, 39); + this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem5.TextVisible = false; + // + // BtnClose + // + this.BtnClose.Location = new System.Drawing.Point(252, 195); + this.BtnClose.Name = "BtnClose"; + this.BtnClose.Size = new System.Drawing.Size(245, 35); + this.BtnClose.StyleController = this.layoutControl1; + this.BtnClose.TabIndex = 13; + this.BtnClose.Text = "Close"; + this.BtnClose.Click += new System.EventHandler(this.BtnClose_Click); + // + // layoutControlItem6 + // + this.layoutControlItem6.Control = this.BtnClose; + this.layoutControlItem6.Location = new System.Drawing.Point(249, 192); + this.layoutControlItem6.MinSize = new System.Drawing.Size(89, 26); + this.layoutControlItem6.Name = "layoutControlItem6"; + this.layoutControlItem6.Size = new System.Drawing.Size(249, 39); + this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem6.TextVisible = false; + // + // TmrDisplay + // + this.TmrDisplay.Interval = 500; + this.TmrDisplay.Tick += new System.EventHandler(this.TmrDisplay_Tick); + // + // RbUser + // + this.RbUser.Location = new System.Drawing.Point(374, 89); + this.RbUser.Name = "RbUser"; + this.RbUser.Size = new System.Drawing.Size(119, 25); + this.RbUser.TabIndex = 14; + this.RbUser.TabStop = true; + this.RbUser.Text = "User"; + this.RbUser.UseVisualStyleBackColor = true; + this.RbUser.CheckedChanged += new System.EventHandler(this.RbUser_CheckedChanged); + // + // layoutControlItem7 + // + this.layoutControlItem7.Control = this.RbUser; + this.layoutControlItem7.Location = new System.Drawing.Point(367, 0); + this.layoutControlItem7.Name = "layoutControlItem7"; + this.layoutControlItem7.Size = new System.Drawing.Size(123, 29); + this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem7.TextVisible = false; + // + // FmxLevelConfig + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(500, 233); + this.Controls.Add(this.layoutControl1); + this.IconOptions.Image = global::LFP_Manager.Properties.Resources.AMO_LOGO1; + this.Name = "FmxLevelConfig"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Control Level Config"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FmxLevelConfig_FormClosing); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.LbCurrentLevel)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TePW.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup Root; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private System.Windows.Forms.RadioButton RbTechnician; + private System.Windows.Forms.RadioButton RbEngineer; + private System.Windows.Forms.RadioButton RbMaster; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2; + private DevExpress.XtraLayout.SimpleLabelItem LbCurrentLevel; + private DevExpress.XtraEditors.TextEdit TePW; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4; + private DevExpress.XtraEditors.SimpleButton BtnClose; + private DevExpress.XtraEditors.SimpleButton BtnApply; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6; + private System.Windows.Forms.Timer TmrDisplay; + private System.Windows.Forms.RadioButton RbUser; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7; + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/FmxLevelConfig.cs b/LFP_Manager/Forms/FmxLevelConfig.cs new file mode 100644 index 0000000..ba1bbe9 --- /dev/null +++ b/LFP_Manager/Forms/FmxLevelConfig.cs @@ -0,0 +1,184 @@ +using DevExpress.XtraEditors; +using DevExpress.XtraPrinting.Native.LayoutAdjustment; +using LFP_Manager.DataStructure; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace LFP_Manager.Forms +{ + public partial class FmxLevelConfig : DevExpress.XtraEditors.XtraForm + { + #region VARIABLES + + CommConfig Config; + + #endregion + + #region CONSTRUCTORS + public FmxLevelConfig() + { + InitializeComponent(); + } + + public FmxLevelConfig(CommConfig aConfig) + { + InitializeComponent(); + + Config = aConfig; + + switch (Config.ControlLevel) + { + case 0: // User Level + RbUser.Checked = true; + break; + case 1: // Technician Level + RbTechnician.Checked = true; + break; + case 2: // Engineer Level + RbEngineer.Checked = true; + break; + case 3: // Master Level + RbMaster.Checked = true; + break; + default: // User Level + RbUser.Checked = true; + break; + } + DisplayStatus(); + TmrDisplay.Start(); + } + #endregion + + #region BUTTON EVENT + private void BtnClose_Click(object sender, EventArgs e) + { + Close(); + } + private void BtnApply_Click(object sender, EventArgs e) + { + string cPW = TePW.Text; + + if (RbMaster.Checked) + { + if (Config.MasterPw == cPW) + { + Config.ControlLevel = 3; + MessageBox.Show("Complete change to Mastar Level", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + else + { + MessageBox.Show("Wrong password for Master Level", "Fail", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + else if (RbEngineer.Checked) + { + if (Config.EngineerPw == cPW) + { + Config.ControlLevel = 2; + MessageBox.Show("Complete change to Engineer Level", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + else + { + MessageBox.Show("Wrong password for Engineer Level", "Fail", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + else if (RbTechnician.Checked) + { + if (Config.TechnicianPw == cPW) + { + Config.ControlLevel = 1; + MessageBox.Show("Complete change to Technician Level", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + else + { + MessageBox.Show("Wrong password for Technician Level", "Fail", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + else if (RbUser.Checked) + { + Config.ControlLevel = 0; + } + } + #endregion + + #region DISPLAY FUNCTION + private void DisplayStatus() + { + switch (Config.ControlLevel) + { + case 0: // User Level + LbCurrentLevel.Text = " Current Level: User Level"; + break; + case 1: // Technician Level + LbCurrentLevel.Text = " Current Level: Technician Level"; + break; + case 2: // Engineer Level + LbCurrentLevel.Text = " Current Level: Engineer Level"; + break; + case 3: // Master Level + LbCurrentLevel.Text = " Current Level: Master Level"; + break; + } + } + #endregion + + #region FORM EVENT + private void FmxLevelConfig_FormClosing(object sender, FormClosingEventArgs e) + { + TmrDisplay.Stop(); + } + #endregion + + #region COMPONENT EVENT + private void RbMaster_CheckedChanged(object sender, EventArgs e) + { + if (RbMaster.Checked) + { + TePW.Enabled = true; + } + TePW.Text = ""; + } + + private void RbEngineer_CheckedChanged(object sender, EventArgs e) + { + if (RbEngineer.Checked) + { + TePW.Enabled = true; + } + TePW.Text = ""; + } + + private void RbTechnician_CheckedChanged(object sender, EventArgs e) + { + if (RbTechnician.Checked) + { + TePW.Enabled = true; + } + TePW.Text = ""; + } + + private void RbUser_CheckedChanged(object sender, EventArgs e) + { + if (RbUser.Checked) + { + TePW.Enabled = false; + } + TePW.Text = ""; + } + #endregion + + #region TIMER EVENT + private void TmrDisplay_Tick(object sender, EventArgs e) + { + DisplayStatus(); + } + #endregion + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/FmxLevelConfig.resx b/LFP_Manager/Forms/FmxLevelConfig.resx new file mode 100644 index 0000000..c9162a8 --- /dev/null +++ b/LFP_Manager/Forms/FmxLevelConfig.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/LFP_Manager/Forms/FmxPassword.Designer.cs b/LFP_Manager/Forms/FmxPassword.Designer.cs new file mode 100644 index 0000000..a359b48 --- /dev/null +++ b/LFP_Manager/Forms/FmxPassword.Designer.cs @@ -0,0 +1,238 @@ +namespace LFP_Manager.Forms +{ + partial class FmxPassword + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.BtnCancel = new DevExpress.XtraEditors.SimpleButton(); + this.BtnOk = new DevExpress.XtraEditors.SimpleButton(); + this.TeResetPW = new DevExpress.XtraEditors.TextEdit(); + this.Root = new DevExpress.XtraLayout.LayoutControlGroup(); + this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.emptySpaceItem3 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.emptySpaceItem4 = new DevExpress.XtraLayout.EmptySpaceItem(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.TeResetPW.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem4)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.BtnCancel); + this.layoutControl1.Controls.Add(this.BtnOk); + this.layoutControl1.Controls.Add(this.TeResetPW); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(804, 0, 650, 400); + this.layoutControl1.Root = this.Root; + this.layoutControl1.Size = new System.Drawing.Size(500, 206); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // BtnCancel + // + this.BtnCancel.Appearance.Font = new System.Drawing.Font("Tahoma", 10F); + this.BtnCancel.Appearance.Options.UseFont = true; + this.BtnCancel.Location = new System.Drawing.Point(246, 169); + this.BtnCancel.Name = "BtnCancel"; + this.BtnCancel.Size = new System.Drawing.Size(251, 34); + this.BtnCancel.StyleController = this.layoutControl1; + this.BtnCancel.TabIndex = 6; + this.BtnCancel.Text = "CANCEL"; + this.BtnCancel.Click += new System.EventHandler(this.BtnCancel_Click); + // + // BtnOk + // + this.BtnOk.Appearance.Font = new System.Drawing.Font("Tahoma", 10F); + this.BtnOk.Appearance.Options.UseFont = true; + this.BtnOk.Location = new System.Drawing.Point(3, 169); + this.BtnOk.Name = "BtnOk"; + this.BtnOk.Size = new System.Drawing.Size(239, 34); + this.BtnOk.StyleController = this.layoutControl1; + this.BtnOk.TabIndex = 5; + this.BtnOk.Text = "OK"; + this.BtnOk.Click += new System.EventHandler(this.BtnOk_Click); + // + // TeResetPW + // + this.TeResetPW.Location = new System.Drawing.Point(111, 71); + this.TeResetPW.Name = "TeResetPW"; + this.TeResetPW.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 12F); + this.TeResetPW.Properties.Appearance.Options.UseFont = true; + this.TeResetPW.Properties.Appearance.Options.UseTextOptions = true; + this.TeResetPW.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.TeResetPW.Properties.PasswordChar = '*'; + this.TeResetPW.Size = new System.Drawing.Size(282, 26); + this.TeResetPW.StyleController = this.layoutControl1; + this.TeResetPW.TabIndex = 4; + // + // Root + // + this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.Root.GroupBordersVisible = false; + this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.emptySpaceItem1, + this.layoutControlItem2, + this.layoutControlItem3, + this.layoutControlItem1, + this.emptySpaceItem2, + this.emptySpaceItem3, + this.emptySpaceItem4}); + this.Root.Name = "Root"; + this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.Root.Size = new System.Drawing.Size(500, 206); + this.Root.TextVisible = false; + // + // emptySpaceItem1 + // + this.emptySpaceItem1.AllowHotTrack = false; + this.emptySpaceItem1.Location = new System.Drawing.Point(394, 68); + this.emptySpaceItem1.MinSize = new System.Drawing.Size(104, 24); + this.emptySpaceItem1.Name = "emptySpaceItem1"; + this.emptySpaceItem1.Size = new System.Drawing.Size(104, 30); + this.emptySpaceItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.BtnOk; + this.layoutControlItem2.Location = new System.Drawing.Point(0, 166); + this.layoutControlItem2.MinSize = new System.Drawing.Size(42, 26); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(243, 38); + this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // layoutControlItem3 + // + this.layoutControlItem3.Control = this.BtnCancel; + this.layoutControlItem3.Location = new System.Drawing.Point(243, 166); + this.layoutControlItem3.MinSize = new System.Drawing.Size(56, 26); + this.layoutControlItem3.Name = "layoutControlItem3"; + this.layoutControlItem3.Size = new System.Drawing.Size(255, 38); + this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem3.TextVisible = false; + // + // layoutControlItem1 + // + this.layoutControlItem1.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 12F); + this.layoutControlItem1.AppearanceItemCaption.Options.UseFont = true; + this.layoutControlItem1.Control = this.TeResetPW; + this.layoutControlItem1.Location = new System.Drawing.Point(108, 68); + this.layoutControlItem1.MinSize = new System.Drawing.Size(188, 30); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(286, 30); + this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem1.Text = "Password"; + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // emptySpaceItem2 + // + this.emptySpaceItem2.AllowHotTrack = false; + this.emptySpaceItem2.Location = new System.Drawing.Point(0, 0); + this.emptySpaceItem2.MinSize = new System.Drawing.Size(104, 24); + this.emptySpaceItem2.Name = "emptySpaceItem2"; + this.emptySpaceItem2.Size = new System.Drawing.Size(498, 68); + this.emptySpaceItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0); + // + // emptySpaceItem3 + // + this.emptySpaceItem3.AllowHotTrack = false; + this.emptySpaceItem3.Location = new System.Drawing.Point(0, 98); + this.emptySpaceItem3.MinSize = new System.Drawing.Size(104, 24); + this.emptySpaceItem3.Name = "emptySpaceItem3"; + this.emptySpaceItem3.Size = new System.Drawing.Size(498, 68); + this.emptySpaceItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.emptySpaceItem3.TextSize = new System.Drawing.Size(0, 0); + // + // emptySpaceItem4 + // + this.emptySpaceItem4.AllowHotTrack = false; + this.emptySpaceItem4.Location = new System.Drawing.Point(0, 68); + this.emptySpaceItem4.Name = "emptySpaceItem4"; + this.emptySpaceItem4.Size = new System.Drawing.Size(108, 30); + this.emptySpaceItem4.TextSize = new System.Drawing.Size(0, 0); + // + // FmxPassword + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(500, 206); + this.Controls.Add(this.layoutControl1); + this.IconOptions.Image = global::LFP_Manager.Properties.Resources.AMO_LOGO1; + this.Name = "FmxPassword"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Reset Password"; + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.TeResetPW.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem4)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup Root; + private DevExpress.XtraEditors.SimpleButton BtnOk; + private DevExpress.XtraEditors.TextEdit TeResetPW; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraEditors.SimpleButton BtnCancel; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem3; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem4; + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/FmxPassword.cs b/LFP_Manager/Forms/FmxPassword.cs new file mode 100644 index 0000000..a637c6a --- /dev/null +++ b/LFP_Manager/Forms/FmxPassword.cs @@ -0,0 +1,63 @@ +using DevExpress.Pdf.Native; +using DevExpress.XtraEditors; +using LFP_Manager.DataStructure; +using LFP_Manager.Function; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace LFP_Manager.Forms +{ + public partial class FmxPassword : DevExpress.XtraEditors.XtraForm + { + #region DELEGATE + public delegate void PasswordResut(int result); + #endregion + + #region VARIABLES + + private CommConfig Config; + + public event PasswordResut OnResult = null; + + #endregion + + #region CONSTRUCTORS + public FmxPassword(CommConfig aConfig) + { + InitializeComponent(); + + Config = aConfig; + } + #endregion + + #region BUTTON EVENT + private void BtnCancel_Click(object sender, EventArgs e) + { + this.DialogResult = DialogResult.Cancel; + Close(); + } + + private void BtnOk_Click(object sender, EventArgs e) + { + string resetPW = TeResetPW.Text; + + if (resetPW == "Delta Electronics") + { + this.DialogResult = DialogResult.OK; + Close(); + } + else + { + MessageBox.Show("Wrong Password - Try again", "Result", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + #endregion + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/FmxPassword.resx b/LFP_Manager/Forms/FmxPassword.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/LFP_Manager/Forms/FmxPassword.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/LFP_Manager/Forms/FmxPasswordChange.Designer.cs b/LFP_Manager/Forms/FmxPasswordChange.Designer.cs new file mode 100644 index 0000000..e772be8 --- /dev/null +++ b/LFP_Manager/Forms/FmxPasswordChange.Designer.cs @@ -0,0 +1,481 @@ +namespace LFP_Manager.Forms +{ + partial class FmxPasswordChange + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.BtnResetPW = new DevExpress.XtraEditors.SimpleButton(); + this.BtnCancel = new DevExpress.XtraEditors.SimpleButton(); + this.BtnOk = new DevExpress.XtraEditors.SimpleButton(); + this.TeCurrentPW = new DevExpress.XtraEditors.TextEdit(); + this.TeNewPW = new DevExpress.XtraEditors.TextEdit(); + this.TeCornfirmPW = new DevExpress.XtraEditors.TextEdit(); + this.RbMaster = new System.Windows.Forms.RadioButton(); + this.RbEngineer = new System.Windows.Forms.RadioButton(); + this.RbTechnician = new System.Windows.Forms.RadioButton(); + this.Root = new DevExpress.XtraLayout.LayoutControlGroup(); + this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.simpleLabelItem1 = new DevExpress.XtraLayout.SimpleLabelItem(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.simpleLabelItem2 = new DevExpress.XtraLayout.SimpleLabelItem(); + this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); + this.simpleLabelItem3 = new DevExpress.XtraLayout.SimpleLabelItem(); + this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.TeCurrentPW.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeNewPW.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeCornfirmPW.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.BtnResetPW); + this.layoutControl1.Controls.Add(this.BtnCancel); + this.layoutControl1.Controls.Add(this.BtnOk); + this.layoutControl1.Controls.Add(this.TeCurrentPW); + this.layoutControl1.Controls.Add(this.TeNewPW); + this.layoutControl1.Controls.Add(this.TeCornfirmPW); + this.layoutControl1.Controls.Add(this.RbMaster); + this.layoutControl1.Controls.Add(this.RbEngineer); + this.layoutControl1.Controls.Add(this.RbTechnician); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(804, 0, 650, 400); + this.layoutControl1.Root = this.Root; + this.layoutControl1.Size = new System.Drawing.Size(500, 265); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // BtnResetPW + // + this.BtnResetPW.Location = new System.Drawing.Point(412, 180); + this.BtnResetPW.Name = "BtnResetPW"; + this.BtnResetPW.Size = new System.Drawing.Size(85, 39); + this.BtnResetPW.StyleController = this.layoutControl1; + this.BtnResetPW.TabIndex = 15; + this.BtnResetPW.Text = "Reset"; + this.BtnResetPW.Click += new System.EventHandler(this.BtnResetPW_Click); + // + // BtnCancel + // + this.BtnCancel.Appearance.Font = new System.Drawing.Font("Tahoma", 10F); + this.BtnCancel.Appearance.Options.UseFont = true; + this.BtnCancel.Location = new System.Drawing.Point(252, 223); + this.BtnCancel.Name = "BtnCancel"; + this.BtnCancel.Size = new System.Drawing.Size(245, 39); + this.BtnCancel.StyleController = this.layoutControl1; + this.BtnCancel.TabIndex = 6; + this.BtnCancel.Text = "CANCEL"; + this.BtnCancel.Click += new System.EventHandler(this.BtnCancel_Click); + // + // BtnOk + // + this.BtnOk.Appearance.Font = new System.Drawing.Font("Tahoma", 10F); + this.BtnOk.Appearance.Options.UseFont = true; + this.BtnOk.Location = new System.Drawing.Point(3, 223); + this.BtnOk.Name = "BtnOk"; + this.BtnOk.Size = new System.Drawing.Size(245, 39); + this.BtnOk.StyleController = this.layoutControl1; + this.BtnOk.TabIndex = 5; + this.BtnOk.Text = "Apply"; + this.BtnOk.Click += new System.EventHandler(this.BtnOk_Click); + // + // TeCurrentPW + // + this.TeCurrentPW.Location = new System.Drawing.Point(133, 86); + this.TeCurrentPW.Name = "TeCurrentPW"; + this.TeCurrentPW.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 12F); + this.TeCurrentPW.Properties.Appearance.Options.UseFont = true; + this.TeCurrentPW.Properties.Appearance.Options.UseTextOptions = true; + this.TeCurrentPW.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.TeCurrentPW.Properties.PasswordChar = '*'; + this.TeCurrentPW.Size = new System.Drawing.Size(360, 26); + this.TeCurrentPW.StyleController = this.layoutControl1; + this.TeCurrentPW.TabIndex = 4; + // + // TeNewPW + // + this.TeNewPW.Location = new System.Drawing.Point(133, 116); + this.TeNewPW.Name = "TeNewPW"; + this.TeNewPW.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 12F); + this.TeNewPW.Properties.Appearance.Options.UseFont = true; + this.TeNewPW.Properties.Appearance.Options.UseTextOptions = true; + this.TeNewPW.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.TeNewPW.Properties.PasswordChar = '*'; + this.TeNewPW.Size = new System.Drawing.Size(360, 26); + this.TeNewPW.StyleController = this.layoutControl1; + this.TeNewPW.TabIndex = 4; + // + // TeCornfirmPW + // + this.TeCornfirmPW.Location = new System.Drawing.Point(133, 146); + this.TeCornfirmPW.Name = "TeCornfirmPW"; + this.TeCornfirmPW.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 12F); + this.TeCornfirmPW.Properties.Appearance.Options.UseFont = true; + this.TeCornfirmPW.Properties.Appearance.Options.UseTextOptions = true; + this.TeCornfirmPW.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.TeCornfirmPW.Properties.PasswordChar = '*'; + this.TeCornfirmPW.Size = new System.Drawing.Size(360, 26); + this.TeCornfirmPW.StyleController = this.layoutControl1; + this.TeCornfirmPW.TabIndex = 4; + // + // RbMaster + // + this.RbMaster.Location = new System.Drawing.Point(7, 28); + this.RbMaster.Name = "RbMaster"; + this.RbMaster.Size = new System.Drawing.Size(159, 25); + this.RbMaster.TabIndex = 8; + this.RbMaster.TabStop = true; + this.RbMaster.Text = "Master"; + this.RbMaster.UseVisualStyleBackColor = true; + // + // RbEngineer + // + this.RbEngineer.Location = new System.Drawing.Point(170, 28); + this.RbEngineer.Name = "RbEngineer"; + this.RbEngineer.Size = new System.Drawing.Size(159, 25); + this.RbEngineer.TabIndex = 9; + this.RbEngineer.TabStop = true; + this.RbEngineer.Text = "Engineer"; + this.RbEngineer.UseVisualStyleBackColor = true; + // + // RbTechnician + // + this.RbTechnician.Location = new System.Drawing.Point(333, 28); + this.RbTechnician.Name = "RbTechnician"; + this.RbTechnician.Size = new System.Drawing.Size(160, 25); + this.RbTechnician.TabIndex = 10; + this.RbTechnician.TabStop = true; + this.RbTechnician.Text = "Technician"; + this.RbTechnician.UseVisualStyleBackColor = true; + // + // Root + // + this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.Root.GroupBordersVisible = false; + this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.emptySpaceItem1, + this.layoutControlItem2, + this.layoutControlItem3, + this.layoutControlGroup2, + this.layoutControlGroup1, + this.layoutControlItem10}); + this.Root.Name = "Root"; + this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.Root.Size = new System.Drawing.Size(500, 265); + this.Root.TextVisible = false; + // + // emptySpaceItem1 + // + this.emptySpaceItem1.AllowHotTrack = false; + this.emptySpaceItem1.Location = new System.Drawing.Point(0, 177); + this.emptySpaceItem1.MinSize = new System.Drawing.Size(104, 24); + this.emptySpaceItem1.Name = "emptySpaceItem1"; + this.emptySpaceItem1.Size = new System.Drawing.Size(409, 43); + this.emptySpaceItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.BtnOk; + this.layoutControlItem2.Location = new System.Drawing.Point(0, 220); + this.layoutControlItem2.MinSize = new System.Drawing.Size(27, 26); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(249, 43); + this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // layoutControlItem3 + // + this.layoutControlItem3.Control = this.BtnCancel; + this.layoutControlItem3.Location = new System.Drawing.Point(249, 220); + this.layoutControlItem3.MinSize = new System.Drawing.Size(56, 26); + this.layoutControlItem3.Name = "layoutControlItem3"; + this.layoutControlItem3.Size = new System.Drawing.Size(249, 43); + this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem3.TextVisible = false; + // + // layoutControlGroup2 + // + this.layoutControlGroup2.CustomizationFormText = "Control Level"; + this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem6, + this.layoutControlItem7, + this.layoutControlItem8}); + this.layoutControlGroup2.Location = new System.Drawing.Point(0, 0); + this.layoutControlGroup2.Name = "layoutControlGroup2"; + this.layoutControlGroup2.OptionsItemText.TextToControlDistance = 3; + this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup2.Size = new System.Drawing.Size(498, 58); + this.layoutControlGroup2.Text = "Control Level"; + // + // layoutControlItem6 + // + this.layoutControlItem6.Control = this.RbMaster; + this.layoutControlItem6.ControlAlignment = System.Drawing.ContentAlignment.TopLeft; + this.layoutControlItem6.CustomizationFormText = "layoutControlItem2"; + this.layoutControlItem6.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem6.MaxSize = new System.Drawing.Size(0, 29); + this.layoutControlItem6.MinSize = new System.Drawing.Size(24, 29); + this.layoutControlItem6.Name = "layoutControlItem6"; + this.layoutControlItem6.Size = new System.Drawing.Size(163, 29); + this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem6.Text = "layoutControlItem2"; + this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem6.TextVisible = false; + // + // layoutControlItem7 + // + this.layoutControlItem7.Control = this.RbEngineer; + this.layoutControlItem7.ControlAlignment = System.Drawing.ContentAlignment.TopLeft; + this.layoutControlItem7.CustomizationFormText = "layoutControlItem1"; + this.layoutControlItem7.Location = new System.Drawing.Point(163, 0); + this.layoutControlItem7.MinSize = new System.Drawing.Size(24, 29); + this.layoutControlItem7.Name = "layoutControlItem7"; + this.layoutControlItem7.Size = new System.Drawing.Size(163, 29); + this.layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem7.Text = "layoutControlItem1"; + this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem7.TextVisible = false; + // + // layoutControlItem8 + // + this.layoutControlItem8.Control = this.RbTechnician; + this.layoutControlItem8.ControlAlignment = System.Drawing.ContentAlignment.TopLeft; + this.layoutControlItem8.CustomizationFormText = "layoutControlItem3"; + this.layoutControlItem8.Location = new System.Drawing.Point(326, 0); + this.layoutControlItem8.MinSize = new System.Drawing.Size(24, 29); + this.layoutControlItem8.Name = "layoutControlItem8"; + this.layoutControlItem8.Size = new System.Drawing.Size(164, 29); + this.layoutControlItem8.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem8.Text = "layoutControlItem3"; + this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem8.TextVisible = false; + // + // layoutControlGroup1 + // + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.simpleLabelItem1, + this.layoutControlItem1, + this.simpleLabelItem2, + this.layoutControlItem4, + this.simpleLabelItem3, + this.layoutControlItem5}); + this.layoutControlGroup1.Location = new System.Drawing.Point(0, 58); + this.layoutControlGroup1.Name = "layoutControlGroup1"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup1.Size = new System.Drawing.Size(498, 119); + this.layoutControlGroup1.Text = "Password"; + // + // simpleLabelItem1 + // + this.simpleLabelItem1.AllowHotTrack = false; + this.simpleLabelItem1.Location = new System.Drawing.Point(0, 0); + this.simpleLabelItem1.MaxSize = new System.Drawing.Size(0, 30); + this.simpleLabelItem1.MinSize = new System.Drawing.Size(126, 30); + this.simpleLabelItem1.Name = "simpleLabelItem1"; + this.simpleLabelItem1.Size = new System.Drawing.Size(126, 30); + this.simpleLabelItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.simpleLabelItem1.Text = " Current Password"; + this.simpleLabelItem1.TextSize = new System.Drawing.Size(104, 14); + // + // layoutControlItem1 + // + this.layoutControlItem1.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 12F); + this.layoutControlItem1.AppearanceItemCaption.Options.UseFont = true; + this.layoutControlItem1.Control = this.TeCurrentPW; + this.layoutControlItem1.Location = new System.Drawing.Point(126, 0); + this.layoutControlItem1.MinSize = new System.Drawing.Size(188, 30); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(364, 30); + this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem1.Text = "Password"; + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // simpleLabelItem2 + // + this.simpleLabelItem2.AllowHotTrack = false; + this.simpleLabelItem2.Location = new System.Drawing.Point(0, 30); + this.simpleLabelItem2.MaxSize = new System.Drawing.Size(0, 30); + this.simpleLabelItem2.MinSize = new System.Drawing.Size(126, 30); + this.simpleLabelItem2.Name = "simpleLabelItem2"; + this.simpleLabelItem2.Size = new System.Drawing.Size(126, 30); + this.simpleLabelItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.simpleLabelItem2.Text = " New Password"; + this.simpleLabelItem2.TextSize = new System.Drawing.Size(104, 14); + // + // layoutControlItem4 + // + this.layoutControlItem4.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 12F); + this.layoutControlItem4.AppearanceItemCaption.Options.UseFont = true; + this.layoutControlItem4.Control = this.TeNewPW; + this.layoutControlItem4.ControlAlignment = System.Drawing.ContentAlignment.TopLeft; + this.layoutControlItem4.CustomizationFormText = "Password"; + this.layoutControlItem4.Location = new System.Drawing.Point(126, 30); + this.layoutControlItem4.MinSize = new System.Drawing.Size(188, 30); + this.layoutControlItem4.Name = "layoutControlItem4"; + this.layoutControlItem4.Size = new System.Drawing.Size(364, 30); + this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem4.Text = "Password"; + this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem4.TextVisible = false; + // + // simpleLabelItem3 + // + this.simpleLabelItem3.AllowHotTrack = false; + this.simpleLabelItem3.Location = new System.Drawing.Point(0, 60); + this.simpleLabelItem3.MaxSize = new System.Drawing.Size(0, 30); + this.simpleLabelItem3.MinSize = new System.Drawing.Size(126, 30); + this.simpleLabelItem3.Name = "simpleLabelItem3"; + this.simpleLabelItem3.Size = new System.Drawing.Size(126, 30); + this.simpleLabelItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.simpleLabelItem3.Text = " Cornfirm Password"; + this.simpleLabelItem3.TextSize = new System.Drawing.Size(104, 14); + // + // layoutControlItem5 + // + this.layoutControlItem5.AppearanceItemCaption.Font = new System.Drawing.Font("Tahoma", 12F); + this.layoutControlItem5.AppearanceItemCaption.Options.UseFont = true; + this.layoutControlItem5.Control = this.TeCornfirmPW; + this.layoutControlItem5.ControlAlignment = System.Drawing.ContentAlignment.TopLeft; + this.layoutControlItem5.CustomizationFormText = "Password"; + this.layoutControlItem5.Location = new System.Drawing.Point(126, 60); + this.layoutControlItem5.MinSize = new System.Drawing.Size(188, 30); + this.layoutControlItem5.Name = "layoutControlItem5"; + this.layoutControlItem5.Size = new System.Drawing.Size(364, 30); + this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem5.Text = "Password"; + this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem5.TextVisible = false; + // + // layoutControlItem10 + // + this.layoutControlItem10.Control = this.BtnResetPW; + this.layoutControlItem10.Location = new System.Drawing.Point(409, 177); + this.layoutControlItem10.MinSize = new System.Drawing.Size(89, 26); + this.layoutControlItem10.Name = "layoutControlItem10"; + this.layoutControlItem10.Size = new System.Drawing.Size(89, 43); + this.layoutControlItem10.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem10.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem10.TextVisible = false; + // + // FmxPasswordChange + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(500, 265); + this.Controls.Add(this.layoutControl1); + this.IconOptions.Image = global::LFP_Manager.Properties.Resources.AMO_LOGO1; + this.Name = "FmxPasswordChange"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Change Password"; + this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.FmxPassword_FormClosed); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.TeCurrentPW.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeNewPW.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.TeCornfirmPW.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.simpleLabelItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup Root; + private DevExpress.XtraEditors.SimpleButton BtnOk; + private DevExpress.XtraEditors.TextEdit TeCurrentPW; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraEditors.SimpleButton BtnCancel; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private DevExpress.XtraEditors.TextEdit TeNewPW; + private DevExpress.XtraEditors.TextEdit TeCornfirmPW; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5; + private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem1; + private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem2; + private DevExpress.XtraLayout.SimpleLabelItem simpleLabelItem3; + private System.Windows.Forms.RadioButton RbMaster; + private System.Windows.Forms.RadioButton RbEngineer; + private System.Windows.Forms.RadioButton RbTechnician; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraEditors.SimpleButton BtnResetPW; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem10; + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/FmxPasswordChange.cs b/LFP_Manager/Forms/FmxPasswordChange.cs new file mode 100644 index 0000000..4d29124 --- /dev/null +++ b/LFP_Manager/Forms/FmxPasswordChange.cs @@ -0,0 +1,149 @@ +using DevExpress.Pdf.Native; +using DevExpress.XtraEditors; +using LFP_Manager.DataStructure; +using LFP_Manager.Function; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using static DevExpress.XtraPrinting.Export.Pdf.PdfImageCache; + +namespace LFP_Manager.Forms +{ + public partial class FmxPasswordChange : DevExpress.XtraEditors.XtraForm + { + #region DELEGATE + public delegate void PasswordResut(int result); + #endregion + + #region VARIABLES + private CommConfig Config; + private int result = -1; + + public event PasswordResut OnResult = null; + + #endregion + + #region CONSTRUCTORS + public FmxPasswordChange(CommConfig aConfig) + { + InitializeComponent(); + + Config = aConfig; + } + #endregion + + #region FORM EVENT + private void FmxPassword_FormClosed(object sender, FormClosedEventArgs e) + { + OnResult?.Invoke(result); + } + #endregion + + #region BUTTON EVENT + private void BtnCancel_Click(object sender, EventArgs e) + { + Close(); + } + + private void BtnOk_Click(object sender, EventArgs e) + { + string sPW; + string currPW, newPW, cornfirmPW; + + currPW = TeCurrentPW.Text; + newPW = TeNewPW.Text; + cornfirmPW = TeCornfirmPW.Text; + + if (newPW.Length < 4) + { + MessageBox.Show("Too short new password (Min. Length 4)", "Result", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + if (RbMaster.Checked) + { + sPW = Config.MasterPw; + } + else if (RbEngineer.Checked) + { + sPW = Config.EngineerPw; + } + else if (RbTechnician.Checked) + { + sPW = Config.TechnicianPw; + } + else + { + sPW = ""; + } + + if (sPW != currPW) + { + MessageBox.Show("The current password is incorrect.", "Result", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + if (newPW != cornfirmPW) + { + MessageBox.Show("The new password and its confirmation do not match.", "Result", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + if (currPW == newPW) + { + MessageBox.Show("Your new password cannot be the same as your current password.", "Result", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + + if (RbMaster.Checked) + { + Config.MasterPw = newPW; + } + else if (RbEngineer.Checked) + { + Config.EngineerPw = newPW; + } + else if (RbTechnician.Checked) + { + Config.TechnicianPw = newPW; + } + else + { + return; + } + csIniControlFunction.IniSave(Application.ExecutablePath, Config); + + MessageBox.Show("Password changed successfully.", "Result", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + + private void BtnResetPW_Click(object sender, EventArgs e) + { + foreach (Form frm in Application.OpenForms) + { + if (frm.Name == "FmxPassword") + { + frm.Activate(); + return; + } + } + FmxPassword PasswordForm = new FmxPassword(Config); + if (PasswordForm.ShowDialog() == DialogResult.OK) + { + Config.MasterPw = "8003"; + Config.EngineerPw = "7003"; + Config.TechnicianPw = "6003"; + csIniControlFunction.IniSave(Application.ExecutablePath, Config); + + MessageBox.Show("Password reset successful.", "Result", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + else + { + + } + } + #endregion + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/FmxPasswordChange.resx b/LFP_Manager/Forms/FmxPasswordChange.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/LFP_Manager/Forms/FmxPasswordChange.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/LFP_Manager/Forms/fmCalibration.Designer.cs b/LFP_Manager/Forms/fmCalibration.Designer.cs new file mode 100644 index 0000000..5c8ea48 --- /dev/null +++ b/LFP_Manager/Forms/fmCalibration.Designer.cs @@ -0,0 +1,152 @@ +namespace LFP_Manager.Forms +{ + partial class fmxCalibration + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fmxCalibration)); + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.ucCalibration1 = new LFP_Manager.Controls.ucCalibration(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.btnClose = new DevExpress.XtraEditors.SimpleButton(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.tmrDisplay = new System.Windows.Forms.Timer(this.components); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.btnClose); + this.layoutControl1.Controls.Add(this.ucCalibration1); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(668, 306, 250, 350); + this.layoutControl1.Root = this.layoutControlGroup1; + this.layoutControl1.Size = new System.Drawing.Size(612, 485); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // layoutControlGroup1 + // + this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1"; + this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup1.GroupBordersVisible = false; + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem1, + this.layoutControlItem2}); + this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0); + this.layoutControlGroup1.Name = "layoutControlGroup1"; + this.layoutControlGroup1.Size = new System.Drawing.Size(612, 485); + this.layoutControlGroup1.Text = "layoutControlGroup1"; + this.layoutControlGroup1.TextVisible = false; + // + // ucCalibration1 + // + this.ucCalibration1.Location = new System.Drawing.Point(12, 12); + this.ucCalibration1.Name = "ucCalibration1"; + this.ucCalibration1.Size = new System.Drawing.Size(588, 423); + this.ucCalibration1.TabIndex = 4; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.ucCalibration1; + this.layoutControlItem1.CustomizationFormText = "layoutControlItem1"; + this.layoutControlItem1.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem1.MinSize = new System.Drawing.Size(104, 24); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(592, 427); + this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem1.Text = "layoutControlItem1"; + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextToControlDistance = 0; + this.layoutControlItem1.TextVisible = false; + // + // btnClose + // + this.btnClose.Location = new System.Drawing.Point(12, 439); + this.btnClose.Name = "btnClose"; + this.btnClose.Size = new System.Drawing.Size(588, 34); + this.btnClose.StyleController = this.layoutControl1; + this.btnClose.TabIndex = 5; + this.btnClose.Text = "Close"; + this.btnClose.Click += new System.EventHandler(this.btnClose_Click); + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.btnClose; + this.layoutControlItem2.CustomizationFormText = "layoutControlItem2"; + this.layoutControlItem2.Location = new System.Drawing.Point(0, 427); + this.layoutControlItem2.MinSize = new System.Drawing.Size(93, 26); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(592, 38); + this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem2.Text = "layoutControlItem2"; + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextToControlDistance = 0; + this.layoutControlItem2.TextVisible = false; + // + // tmrDisplay + // + this.tmrDisplay.Interval = 500; + this.tmrDisplay.Tick += new System.EventHandler(this.tmrDisplay_Tick); + // + // fmxCalibration + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(612, 485); + this.Controls.Add(this.layoutControl1); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "fmxCalibration"; + this.Text = "Calibration"; + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraEditors.SimpleButton btnClose; + private Controls.ucCalibration ucCalibration1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private System.Windows.Forms.Timer tmrDisplay; + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/fmCalibration.cs b/LFP_Manager/Forms/fmCalibration.cs new file mode 100644 index 0000000..a829f6e --- /dev/null +++ b/LFP_Manager/Forms/fmCalibration.cs @@ -0,0 +1,79 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Linq; +using System.Windows.Forms; +using DevExpress.XtraEditors; + +using LFP_Manager.DataStructure; +using LFP_Manager.Function; +using LFP_Manager.Controls; + +namespace LFP_Manager.Forms +{ + public delegate void CalibUpdateEvent(object sendor); + public delegate void CalibCmdEvent(int sId, int mode, int flag, DeviceParamData aParam, DeviceCalibration aCalib); + + public partial class fmxCalibration : DevExpress.XtraEditors.XtraForm + { + #region VARIABLES + + int SystemId = 0; + DeviceParamData Param; + DeviceCalibration Calib; + + public event CalibUpdateEvent OnUpdate = null; + public event CalibCmdEvent OnCommand = null; + + #endregion + + #region CONSTRUCTORS + + public fmxCalibration() + { + InitializeComponent(); + } + + public fmxCalibration(int sId, DeviceCalibration aCalib) + { + InitializeComponent(); + + SystemId = sId; + Calib = aCalib; + + tmrDisplay.Enabled = true; + } + + #endregion + + private void btnClose_Click(object sender, EventArgs e) + { + Close(); + } + + #region TIMER EVENT + + private void tmrDisplay_Tick(object sender, EventArgs e) + { + if (OnUpdate != null) + { + OnUpdate(this); + } + } + + #endregion + + #region PUBLIC FUCTIONS + + public void UpdateData(DeviceParamData aParam, DeviceCalibration aCalib) + { + Param = aParam; + Calib = aCalib; + } + + #endregion + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/fmCalibration.resx b/LFP_Manager/Forms/fmCalibration.resx new file mode 100644 index 0000000..53cd17e --- /dev/null +++ b/LFP_Manager/Forms/fmCalibration.resx @@ -0,0 +1,4574 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + AAABAAQAICAAAAEAGACoDAAARgAAADAwAAABABgAqBwAAO4MAACAgAAAAQAYACjIAACWKQAAAAAAAAEA + GAAoIAMAvvEAACgAAAAgAAAAQAAAAAEAGAAAAAAAgAwAAAAAAAAAAAAAAAAAAAAAAAD///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////+/v7+/v7+/v7+/v7+/v7+/v7+/v7/ + ///+/v7////////////////////////////////////////////////////////+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7////+/v7+/v3+/v3+/v3+/v7+/f3////////+/v7///////////////////// + ///////////////////////////+/v7////+/v7+/f3+/v7+/v3+/v3+/v3+/v7////7+ff///////// + ///////////////+/v3+/v7////+/v7////////////////////////////////////////+/v7////+ + /v7+/v7////////////////////////7+PbCnHejazCkbTKkbDKlbjSdYTDLrIr////9/Pz+/v7///// + ///////////////////////////////////////////+/v79/fz////BnHSeYjClbjSkbDKkbDOjazDc + x7L49PGkbDKEOACKQwCJQQCHPgCNRwTt49n+/v39/Pz+/v7+/v7///////////////////////////// + ///+/v7+/v79/Pv//v7j0sKHPgCJQACJQQCLRACCNgCufkv////////q3tKOSQePSgSPSwKRTQSHPgCt + e0f////9/Pv+/v7////////////////////////////////+/v7////9/f39/Pv9/PuiaS6JQQCQTQOP + SwKNSAOUUxLz7ef+/f37+Pb////AmnKGOwCQTAKOSQCPSwKHPwDaxa7////8+/r+/v7+/v7///////// + ///////////+/v7///7+/v77+vj////OsJGGPACQTAKOSQCQTAKGPADNr4/////7+ff9/Pv9/fz38u6Z + WhuLQwCPSgGPSgGLRQGcXyH59vP9/fz9/fz////+/v7////////+/v7+/v7////+/v77+vn////u5NqS + Tw+OSAKOSQCPSwKJQACiai/8+vn9/Pz9/f3+///9/Pv////WvqWHPQCQTAOOSQCQTQOGPADDn3j////8 + +/r+/v7////+/v7+/v7+/v79/fz8+/r9/f3////u49mdYSiKQwCPSwGOSQCPSwKKQgDi0L/////9/Pv+ + /v7//v7+/v79/Pz///+seUOIPwCQTAKOSQCOSQKNSAbq39P+/v39/Pz+/v7////////////////////+ + /v7SuJ6WVRiLRQCRTwaQTASSUAeHPgC4jV7////9/Pv+/v7////+/v7+/v79/Pz+/v7r39SOSQeOSgKO + SQCQSwKHPwCsekT+/v/9/Pz+/v78+/r49PDy6uPi0cDDn3yZXB9/MACEOACHPgCGOwCFPACEOgCTURDz + 7Ob9/fz9/f3////+/v7////////+/v78+/r////CnneGPACQTAKOSQCQTAKHPgDYwan////9/Pz38u7o + 2szgzbvTuZ/MrY/St5zeyrTcyLLcx7Hcx7HdybPVvKfl1cX////9/fz+/v7+/v7////////+/v7////9 + /f39/Pz59fObXiCKQwCPSgGPSgGLRAGaXB349PH9/fz+/v/////////////////28e3AmnrEn3rDn3nE + oXu+lnbcxrD////9/Pv+/v7////////////////////+/v7+/v79/Pv////bxa+HPgCPSwKOSQCQTAKG + PADAmnH////8+/r9/fz9/Pv7+ff9/Purd0F/MACGOwCFOgCEOQCEOADj0sH+/fz9/Pz+/v7+/v7///// + ///////////////////+/v79/Pz///+ufkqHPgCQTAKOSQCOSgKNRwPp3M/+/v79/Pv8+/r////YwaqH + PgCSTwaQTAOSTwaHPgDDn3n////9/Pv+/v7////////////////////////////+/v7+/v79/Pz+/v7t + 4tiNSAaNSAKOSQCQTAKJQQCqd0D+/v79/Pv9/fz49fKbXyCMRQGPSwGPSgGLRAGYWRn38+/9/fz9/f3/ + ///+/v7///////////////////////////////7+/v79/Pv////EoHqFOwCQTQOOSQCQTQOHPwDUu6H/ + ///////Dn3iGPQCQTQOOSQCQTAOGPQDWvaT////9/Pv+/v7+/v7///////////////////////////// + ///+/v7////9/f39/Pv59vScYCOLRQGPSwKPSgGMRQGWVhf7+ffu5duNSAaOSQKOSQCQTAKJQQCqd0D+ + /v79+/r+/v7////////////////////////////////////////////+/v7+/v78+/r////cx7GJQgCQ + TAOOSQCQTAKFOwC/mXKzhVSGPACQTAKOSQCPSgKOSQfq3dH////9/Pv+/v7+/v7///////////////// + ///////////////////////////////+/v79/Pv///+wgU6HPgCQSwKOSQCPSgGMRgCMRwCPSgCOSQCQ + TAKGPADAmnH////9/Pr+/v7////////////////////////////////////////////////////+/v7+ + /v79/Pz+/v3u5NuPSwmNRwGOSQCPSgCPSwGPSgGPSQCPSgGLRACYWRn38u79/fz9/fz///7+/v7///// + ///////////////////////////////////////////////////+/v79/Pv////HpoKFOwCQTQOOSQCP + SgCPSgCOSQCQTAOGPQDVvaP////9/Pv+/v7+/v7///////////////////////////////////////// + ///////////////+/v7////9/f39/fz7+fefZSiIQACOSQCNRwCNRwCOSQCGPQCrd0H+///9/fz+/v7/ + ///////////////////////////////////////////////////////////////////+/v7+/v79/Pv/ + ///fzLmSTxWXWBWWVhSWVhSWVhSWVRrq3dH////9/Pz+/v7+/v7///////////////////////////// + ///////////////////////////////////////////+/v7+/v7////38+728e328e328e328Oz49fD/ + ///+/v7+/v7///////////////////////////////////////////////////////////////////// + ///////+/v7////////+/v3////////////////////////+/v3////////+/v7///////////////// + ///////////////////////////////////////////////////////////+/v7////+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7////+/v7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACgAAAAwAAAAYAAAAAEAGAAAAAAAgBwAAAAAAAAAAAAAAAAAAAAAAAD///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7////+/v7+/v7///////// + ///////////////////////////////////////////////////////////////////////////////+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////// + /////////v7+/v7///////////////////////////////////////////////////////////////// + ///////////////////////////+/v7////////+/v7///////////////////////////////////// + ///38u38+vn8+vj8+vj8+vj8+vj8+vj8+vj7+ff////+/v3+/v7+/v7+/v7///////////////////// + ///////////////////////////////////////////////////////////////+/v7+/v7+/v7////7 + +ff8+vj8+vj8+vj8+vj8+vj8+vj7+ff59fK7kmmbXh+cXyCcXyCcXyCcXyCbXyCdYSGWVR3Fon3////9 + /Pz+/v7///////////////////////////////////////////////////////////////////////// + ///////+/v7+/v79/f39/fz///+1iFqXVx2cYCGcXyCcXyCcXyCcXyCbXiCcYCPn2Mv7+fencTqDOACM + RgCLRACLRACLRACLRACKQwCMRQLq3tL////9/Pz+/v7///////////////////////////////////// + ///////////////////////////////////////////+/v79/Pz////Zw6uGOwCMRQCLRACLRACLRACL + QwCNRwCCNQC4jmH////////r39SNRwWOSgOOSgGPSgGPSgGPSgGQTAOIPwCpdD3////9/fz9/f3////+ + /v7////////////////////////////////////////////////////////////////+/v7+/v79/f3+ + /f359vOZWxyLRACQSwKPSgGPSgGPSgGPSgGMRQKXWBn49PD+/fz8+vn////BnHWFOgCQTAGOSQCPSgCP + SgCOSQCPTAKFOwDVvaT////9/Pv+/v7///////////////////////////////////////////////// + ///////////////////////+/v79/Pv////BnXaEOgCQTAKOSQCPSgCPSgCOSQCPSwGGOwDVvKL////8 + +/r9/Pz9/f349fKZXB2KQwCPSgGOSQCOSQCOSQCPSgGLRAGXWBj38+/+/f39/f3+/v7+/v7///////// + /////////////////////////////////////////////////v7+/v79/fz+/v7r39SMRwWNSAGOSQCO + SQCOSgCOSQCPSwGHPgCpdT7////9/Pz+/f3+/v79/Pv////YwquGPACPSwGOSQCPSgCPSgCOSQCQTAGF + OgC+l23////9/fz+/v7////+/v7////////////////////////////////////////////////+/v7+ + ///9/f39/Pv///+qdkGHPQCPSwGOSQCPSgCPSgCOSQCOSAGLRALp3dH////9/Pv+/v7+/v7+/f39/fz/ + //+se0aHPgCQTAKOSQCPSgCPSgCOSQCOSQKLRALn2s3//v79/Pz+/v7///////////////////////// + ///////////////////+/v7+/v7////+/v78+vn////Rt5qGPACQSwKOSQCPSgCPSgCOSQCQTAKFOwC/ + mXL////9/Pz+/v7////////+/v79/fz///7s4deNSAeNSAGOSQCOSQCOSQCOSQCQSwKHPgCnczv+/v79 + /Pz9/f3+/v7+/v7////////////////////////////+/v7+/v7////////9/f38+/r////j08KNSQiN + RgGOSgCOSQCOSQCOSQCPSgCLRACYWhv48/D+/f39/f3+/v7+/v7+/v7////+/v79/Pz////Dn3qFOgCQ + TAGOSQCPSgCPSgCOSQCQSwGGPADSuJ3////9/Pz+/v7////////////////////////+/v7+/v7///// + ///+/v79/Pv////////cx7KPTA2LRQCPSgCOSQCPSgCPSgCOSQCPSwGGPADWvqb////9/Pz+/v7///// + ///////////+/v79/f3+/f359/SbXiCKQgCPSgGOSQCOSQCOSQCPSgCLRQCVVBT18Oz+/f39/fz+/v7+ + /v7////+/v7+/v7+/v7+/v7+/f39/Pz9/Pv////////49PC/mHSKQgCMRQCPSgCOSQCPSgCPSgCOSQCQ + TAKGPQCreEL////9/Pz9/f3+/v7+/v7////////////////+/v79/Pv////axK6FPACPSwKOSQCPSgCP + SgCOSQCQTAKEOQC8lGn////9/Pv+/v7////////////////////////////////////49fLQs5ibXyWH + PgCPSwKQTQOQSwKQTAOQTAKQTAKPSwOOSgOMRQPq3tP////9/Pz+/v7////////////////////+/v7/ + ///+/v39/Pz///+vf0uHPgCQSwGOSQCOSgCPSgCOSQCOSQGLRAHm18n////9/fz+/v7////+/v36+Pb5 + 9fLz7ejo2s3RtpuwgFCNRwN9LQCCNQCHPgCGOwCFOwCGOwCGOwCGOwCFOwCGPAB/MADCnnj////9/Pz+ + /v7////+/v7////////////////////+/v7+/v79/fz///7v5t6PSgiNRwGOSQCPSgCOSQCOSQCPSwGJ + QAClbjX+/f39/f39/f3//v769/XfzbjZw67QtJrEoX67kmq6kGa/mXLDn3rEoHzEoHvEoHvEoHvEoHvE + oHvEoHvDoHvDnnvEoH369/X+/v79/f3+/v7+/v7////////////////////////////////+/v79/Pv/ + ///GpICFOgCQTAKOSQCPSgCPSgCOSQCQTAKGPADQtJf////9/Pz+/v7///////////////////////// + ///////////////////////////////////////////////////////+/v7+//////////////////// + ///////////////////+/v7+/v79/f3+/f36+PadYiSKQwCPSgCOSQCOSQCOSQCPSgGMRgGUVBP07uj+ + /v39/fz+/v7+/v7+/v3+/f39/fz9/Pv7+vj+/f3cyLSXVyGcYCKcXyCcXyCcXyCcXyCdYSKUUxzDn3z9 + /Pz9/Pz9/f3////+/v7////////////////////////////////////////+/v79/Pz////cx7KHPwCP + SgGOSQCPSgCPSgCOSQCQTAKGPAC5kGP////9/Pv+/v7//v7+/v7+/v7+/v79/f39/fz7+feeYyaGPACL + RQCLRACLRACLRACLRACIQACQTAnw59/+/v79/f3+/v7+/v7///////////////////////////////// + ///////+/v7///79/f39/Pv///+xglCGPACQSwGOSQCPSgCOSQCOSQCOSQGKQgDk1MT////9/fz+/v7/ + ///////+/v79/Pz////HpoOFOgCQTAKOSgCPSgGPSgGOSgGQTAKFOwDPs5b////9/Pv+/v7///////// + ///////////////////////////////////////////+/v/+/v79/Pz+/v7w59+PSgiMRgGOSgCPSgCP + SgCOSQCPSwGIQACiajD+/f39/f39/f3///7+/v79/fz+/v7w6OCPSgmNRwGOSQCOSQCOSQCOSQCPSwKI + PwCiaS79/fz9/fz9/f3+/v7+/v7///////////////////////////////////////////////////7/ + ///+/v79/Pv////Ip4WFOgCQTAKOSQCPSgCPSgCOSQCQTAKEOQDOsZP////9/Pv+/v7+/v79/Pv///+x + glGFOwCQTAKOSQCPSgCPSgCOSQCOSgKIQADj08L////9/Pz+/v7///////////////////////////// + ///////////////////////////////+/v7+/v79/f39/f38+vmeZCeJQQCPSwGOSQCOSQCOSQCPSgGM + RQGRTw7z7ef+/v39/f39/Pz////fzLiHPQCPSgGOSQCPSgCPSgCOSQCQTAGFOwC4jF/////9/fz+/v7+ + /v7+/v7////////////////////////////////////////////////////////////////+/v79/fz/ + ///fzLqHPgCOSgGOSQCPSgCPSgCOSQCQTAGFPAC3jF7////9/Pz+/f38+vifZCiJQQCPSwGOSQCOSQCP + SgCOSgGLRQGTURDz7ef+/v39/f3+/v7///////////////////////////////////////////////// + ///////////////////+/v7////+/v79/Pv///+zhVWFOwCQTAKOSQCPSgCPSgCOSQCOSgKJQQDi0cH+ + /v7////JqYeFOgCQTAKOSQCPSgCPSgCOSQCQTAKEOgDNsJH////9/Pv+/v7////+/v7///////////// + ///////////////////////////////////////////////////////+/v7+/v79/fz+/v3w6eGRTQyN + RwGOSQCOSQCOSQCOSQCPSwKJQQChaC7////x6eKRTgyNRgGPSgCPSgCOSQCOSQCPSwGJQQCiajD8+/r9 + /fz9/f3+/v7+/v7///////////////////////////////////////////////////////////////// + ///////////////+/v79/Pz////LrIuFPACQTAGOSQCPSgCPSgCOSQCQSwGFOwDPspW5j2SGPACQSwGO + SQCPSgCPSgCOSQCOSgGJQgDj0sL////9/Pz+/v7///////////////////////////////////////// + ///////////////////////////////////////////+/v7+/v79/f39/fz9/PygZyuJQACPSwGOSQCO + SQCOSQCOSQCOSACOSACNSACOSQCOSQCPSgCPSgCOSQCQTAKFOwC3i13////9/Pv+/v7////+/v7///// + //////////////////////////////////////////////////////////////////////////////// + ///+/v79/Pv////hz72JQACPSwKOSQCPSgCPSgCOSQCPSgCOSQCOSQCPSgCOSQCOSQCOSQCOSQCMRgGS + UA/y6+X+/v39/fz+/v7+/v7///////////////////////////////////////////////////////// + ///////////////////////////////+/v7////+/v79/fz///+1iVuGPACQSwGOSQCPSgCPSgCOSQCP + SgCPSgCOSQCPSgCPSgCOSQCQTAGFOgDNrpD////9/Pz+/v7///////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7+/v79/f3+ + /v3y6+SSUA6MRQGOSgCOSQCOSQCPSgCPSgCPSgCPSgCOSQCOSQCPSwGIQAChaS78+/r9/Pz9/f3+/v7+ + /v7///////////////////////////////////////////////////////////////////////////// + ///////////////////////////+/v79/Pv////NsJGFOwCQSwGOSQCPSgCPSgCPSgCPSgCOSQCPSgCO + SQCOSQGJQQDi0cD////9/Pv+/v7///////////////////////////////////////////////////// + ///////////////////////////////////////////////////////+/v7+/v79/f39/Pz8+/qiai+J + QACRTQSPSwKQSwKQSwKQSwKQSwKPSwKRTgSGPAC2iVr////9/Pv+/f3////+/v7///////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////+/v79/Pv////j08KGPQCHPQCHPgCIPgCIPgCIPgCIPgCHPwCFOgCRTgvy6uP+/f39 + /fz+/v7+/v7///////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////+/v7////+/v79/f3////JqIeufFOzhVezhFaz + hFazhFayhFazhVete1TWvqb////9/fz+/v7///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/v7+/v7+/v3////////////////////////////////////////+/v3+/v7+/v7+/v7///////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////+/v7+/f3+/f3+/fz+/fz+/fz+/fz+/fz+/fz+ + /f3+/f3///////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAgAAAAAABAAABABgAAAAAAADIAAAAAAAAAAAAAAAA + AAAAAAAA//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////v7+/v7+//////////////////////////////////////////////////////////// + /////////////////////////////////////////fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v39/v7+/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////v7+/////v7+/f38/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/////v7+ + /f39//////////////////////////////////////////////////////////////////////////// + ////////////////////////2MCn3Maw3Maw3Maw3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew + 3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Maw3Mex2cOs8uvk/v7+/f39/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+/f39////4tHA2sSs3Mex3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew + 3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mex3Mew3Mex2cKr9vHtqXQ9ikIAiUEAiUEAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAiUEAikMAgzgAq3hH/v39 + /fz8/v79/v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7+/fz8////49PCiUIBiUEAiUEA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAiUIAiUEAi0MAgzkA + nmMq+vj1/v39sYJUhz4AkU0Ej0oBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0oBj0oBkEwDhz0A1buh/////fz7/v7+/v7+/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v39/Pz8/Pr5pGw1iEAAkE0Dj0oBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sBj0sDjEYG49LC////////7OLWkU4PjEYBj0oBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAj0sBikQAmFod9fDq/v39/v39/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////7+/v7+/v7+/v7+/Pv6////za+QhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChjsAuo9l////+/n4+ff1//// + x6aFhDsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAkEwChTwAv5dw/////Pz7/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/f38/v798evik1IV + i0UBj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkoA + j0oBi0QBlVQX8+zl/f39/fz8/fz8/fz8+vbzoGYuiEAAj0sBjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjkoAjkkAjUkBjEgG6NvN/////fz8/v7+/v7+/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////7+/f7+/v7+/fz7////topehjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sChTwA0LWY/////Pv7/v7+/v///Pz7////3sq3iEABjkoC + jkkAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEsC + hz8Ap3I//fz7/fz8/v79/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v39/v///Pz7////3867iEAAjkoCjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEsChz8ApnE5/fz8/Pz7 + /v7+/v7+/v7+/v7+/Pv7////tIZYhjwAkEwBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0sChTwA0rec/////Pz7/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/v79/fz8 + +/r4oWgwiEAAj0sBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + j0kAjkkAjkoAjkkBikQF5dbG/////fz7/v7+/v7+/v7+/v7+/fz8/v7+8OffkU8QjEYBj0oAjkkAjkoA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAj0oBikMAllcb9O/p + /v39/f38/v7+/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/v7+/Pz7////yquLhTsAj0wCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChToAu5Nq/////Pz7//7+/v7+/v7+/v7+/v7+ + ///+/Pz7////y6yNhTsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAkEwBhTsAu5Rr/////Pz7/v7+/v7+/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz8/v7+7+bckU4PjEYBjkkBjkkA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjUkAj0oBi0QBllcb + 9e/p/v39/f38/v7+/v7+/////////v7+/v7+/v79/fz8+vj1oWgwiUEAj0sBjkgAjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkCi0QF5NXG/////fz8/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+//7+/f39 + /v7+/fz7////tIdZhjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkAj0sChj0A0rec/////Pz7/v7+/v7+/////v7+/v7+/////v7+/v7+/Pz7//// + 38y4ikIDj0oCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0sBhz8Ap3I8/Pv5/fz8/v39/v79/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////v7+/v7+/Pz7////3sm2iUIBj0oBjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEsCiD8AqHM+/fz7/Pz8/v7+/v7+/v7+ + /v7+/////////v7+/v7+/v7+/v7+/Pv7////topehTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAkEsChjwA0bWa/////Pv6/v7+/f39/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/f39/fz8+vj2n2UriUEA + j0sBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkoA + jkgBjEYG5tjJ/v7+/f37/v7+/v7+/////////////////////////v7+/v7+/f39/v398uriklETi0YB + j0oAjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oB + i0UAlVYZ8+3m/f79/f38/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/v7+/Pv6////yKeFhTsAkEwCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChjwAvpZv/////Pz7/v/+/v7+/v7+/v7+//////////////// + /v7+/v7+/v7+/v7+/Pz7////za6QhTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTwAuZBm/////Pv6/v7+/v7+/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v79/v7+/fz7/v7+7ePYkU4QjEcBjkkBjkkAj0oAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0QBmFof9e/p/f39/v39 + /v7+/v7+/////////////////////////////////v7+/v7+/v7+/fz8+/n3o2s1iUEAkEsBjkkAjkkA + jkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAjkkCikQD5NPD + /////Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v79/Pv7/v/+ + sIFShjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAj0sChj0A1Lqg/////Pz7/v/+/v7+/////v7+/////////////////////////v7+/////v7+ + /v7+/fz7////4tHBikMEjkkCjkoAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0sBiEAApW43/Pv5/fz7/v39/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/////Pv6////2sawiD8Aj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEsChz8AqnhE/v79/Pz7/v7+/v7+/v7+/v7+//////// + /////////////////////////v7+/v7+/v7+/v7//fz7////uI1hhj0AkEwCjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0wChj0AzrCT/////Pv6/v7+ + /f39/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/v7+/f38/f389vLtm18jikMAj0oBjkkAjkkA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkoAjUgBjUgH6NzO + /v7+/fz8/v/+/v7+/////////////////////////////////////////////////v7+/v7+/f38/v39 + 8uvjlFUWi0UBj0oBjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0oAjkkAj0oBjEYBlFMW8enh/v79/fz7/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7//v7+//7+/f39 + /Pv6////t4thhjwAj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAkEwChTsAwJp0/////fz6/v7+/v7+/v7+/v7+//////////////////////////// + /////////////v7+/////v7+/v7//Pv7////zrGUhjwAj0wCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwChjwAt4xg/////Pv7/v7+/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7//v3+/Pr6////0bWYhj0Aj0sCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkkAjkkAj0sBi0MAmVsg9vHs/v39/f39/v7+/v7+//// + /////////////////////////////////////////////////v7+/v7+/v7+/v7+/f38/Pr4pW85iD8A + kEsCjUkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + jkoCikIC4tHA/////Pv7/v7+/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7++/r5////38y4i0UHjUgBjkoA + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0wC + hz4A1r6m/////Pz7/v7+/v7+/////v7+//////////////////////////////////////////////// + /////////v7+/v7+/fz8////49LCjEYFjkkCjkoAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBiEAAomoy+/n2/fz7/v39/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v7+/v7+ + /v7++/r5////5NTCj0wQi0UAj0oAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAkEwChz8ArHpI/v7+/fz7/f79/v7+/v7+/v7+//////////////////// + /////////////////////////////////////v7+/////v7+/v7+/Pz7////upBnhTwAkEwCjUgAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0wChToAyqyM + /////Pv6/v7+/v7+/////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/////v7+/v7+/v7+/f39/Pr5////4c+9kE0SikQAj0sBjkkAjkkAj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjUgCjkoJ6d3R/v7+/f38/v7+ + /v7+/////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v39/f399O3nl1gci0UBj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oAjkkAj0oAi0UBk1ET8Ofe/v39/fz7/v7+/v7+/////v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////////v7+//7+/v7+/Pv6/f38////1LuijkkLi0QA + j0sBjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChjwAwp14/////Pv6/v7//v7+/////v7+//////////////////////////////////////// + /////////////////////////////////v7+/v7+/Pv6////0baahj4AkEwCjkkAjkkAj0oAj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwBhTwAtYlc/////Pv6/v7+ + /v7+/v7+//////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/////v7+/v7+/v7+ + /v79+/v5////+/n1wJp1iEEAjUYAj0wBjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBikMAnWAn9/Lu/fz7/f39/v7+/v7+/v7+//////////// + /////////////////////////////////////////////////////////////v7+/v7+/v7+/v7+/Pz7 + /Pv5p3I9iD4AkEwCjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAj0oCiUEA3826/////Pv6/v7+/v7+/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/////////v7+/v7+/v79/Pv6/f3+////6dzPpW89hjwAj0oBj0oBjkkAjkkAj0oAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAj0sChz4A2MKq//// + /Pv6/v7+/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz7////5dbGi0UGjkkCjkoAjkkAj0kAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBiEAAoGct+vj1/fz7/v39/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/v7+/////////v7+/v7+/f39/fz7/fz8////+vj0xaOCjkkJhz8A + j0sBj0oAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAkEwChz0Arn1L/////Pv6/v7+/v7+/v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/////v39/v/+/Pv6////vZZuhjsA + kEwDjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUgA + j0wChDoAyKiI/////Pv6/v7+/v7+/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+///////////+/v7+/v7+/v79/Pv6 + /f38////////28ayn2cyhTwAjEcAj0sCjkkAj0oAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjUcCjkoK69/U/v7//fz7/v7+/v7+/////v7+ + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/f39/f399fDrl1kci0UBj0sBjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkoAjEUAkU4P7+bc/v79/fz7/v7+/v7+/////v7+//////// + /////////////////////////////////////////////////////////v7+/////v7+/v7+/////v7+ + /////v7+/v7+/v7+/fz8/Pv6/v7+////////4M68qnhHiD8AiUEAj0sCj0oAjkkAjkkAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkE0DhjwA + xaJ//////Pv7/////v7+/v7+/v7+//////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/Pv6////07qghz4Aj0wDjkkAjkkA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwBhjwAsoRU + /v///Pv6/v7+/v7+/v7+/////////////////////////////v7+/////v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+///+/v7+/v7+/////v7+/v7+/v79/fz8/Pv6/fz8////////+/n32sSvqnZHikIAhz8AjkoA + j0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjUkAj0sCikMAnmMp+PXx/f38/f39/v7+/v7+//////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/Pz7/f38qXVBiEAAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAj0oBiD8A3cm0/////Pv6/////f39/v7+/v7+//////////////////// + /////////////////////////////v7+/////v7+/v7+/v7+/v39/fz7/Pv6/fz7/f7+//////////// + 7OHWyaiHn2UviD8Ahz4AjkkAj0sCjkkAjkkAjkoAjkoAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wDiEAA28Wv/////Pz7/v/+/v7+ + /////v7+//////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////v7+/v7+/fz7/v//6NrNjkkJjkkCj0kAjkkAjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBiUIAn2Ur+fb0/fz7/f39 + /v7+/v7+/////////////////////////v7+/v7+/v7+/v7+/f38/fv6/fz7/fz6/Pv6/fz8/fz8/v7/ + /////////////////Pz66dzPza6Qq3dGkE0Mhj0AikMAj0sCj0sCj0oAjkkAjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + kEwChz4AsIJS/v7//Pv7/v7+/v7+/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v7+/////Pv6 + ////v5lzhTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkgAkEwBhDoAxqSC/////Pv6/v7+/v79/v7+/v7+/////////////////v7+/////v7+/v7+ + /////////////////////////////v788+3l5NTE07icuY5moWgvj0sIhz4AiUIAj0oAkE0FkU0Dj0sC + kEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsB + kEsBkEsBkEsBkEsBkEsBkEsBj0sBkEwCjEgBkE4O7eTa/v7+/fz8/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/f38/f389vHsmVsgikMBj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAjEYBkEwN7ePY/v7+/fz7/v7+/f39//// + /v7+/////////////v7+/v7+/f38/v//28ayxqSAy6uKxKF6vJNssoReqHNEmVwlkEwKhjwAgTQAgDQA + hDoAiEAAikMAiUIAiEEAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAA + iEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiUIAgjYAx6WD/////Pv6 + /v7+/v7+/////v7+//////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/////v7+/v7+/Pv7////1r2khz4A + j0sCjkkAjUkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + kEwBhjwAsYFR/////fz7/v79/v7+/v7+/////////////////v7+/v7+/v39/v7+4M27za+O0bWW0LOU + z7OV0LOZ0bac07mg1ryk2MCo2cKr2cKs2MGq2MCp18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co + 18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co + 18Co18Co2MCo1r+n2MGq+vf0/v39/v79/v7+/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/v7+/Pv6/v39rHpIhz4Aj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0oBiUEA3May/////Pv6/////f39/v7+/v7+//////// + /v7+/////v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7//v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz7/v7+6d3RjUkJjUgBj0oAjkkA + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBikIAnWIn + +PXx/fz8/f39///+/v7+/////////////////v7+/////////v39/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz8/fz7+/n3+/n3+/n3+/n3+/n3+/n3 + +/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3/Pr4/fz7/fz8 + /fz8/v7+/////v7+/////v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v7+/Pv7////wZx2hDsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAkE0ChjwAxKF8/////Pv6/v7+/v7+/v7+/v7+/////v7+/////v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v///v7+/////v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/f39/f389/Ltm14iiUIAj0oBjkkAjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkoAjUgCkE0N7OHW/v7+/f38 + /v7+/v7+/////v7+//////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/f79/f39+vj20LSYzrCSz7GUzrGTz7GTz7GTz7GTz7GTz7GTz7GT + z7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTzrGTzrGTza+S0LSY+vj1/v7+/v79/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v7//Pz7 + ////2cKriD8Aj0sCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAkEwChz8Ar35O/v7+/fz8/v7+/v7+/v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/v7+/fz7////yaiIgDMAhz0A + hTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhjsAhTsAhDsAhz4A + fS0AtIdb/f38/Pz8///+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+/v7+/fz7/v//rn1Khz0Aj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sCiEAA2MGq/////Pz7/v///v7+/v7+ + /v7+/////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v7+/f38/v797+bdkU8PjUkDkU4Fj0wDkEwDkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0D + kE0DkE0DkE0DkE0DkEwDkE0DkU4FjEcFmVwe9/Pu/v7+/v38/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7//fz7/v7+69/UjkoL + jUgBj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + j0sCikMAm18j+PXw/f39/f39/v7+/v7+/////v7+//////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/fz7////tIZYhj0AkEwCjkgAjkkAj0oAjkkAjkkA + jkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAj0oAjkkAjkkAj0sChj0A0rec/////Pv7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/////Pv6////xKF9hTsAkEwCjkkAjkkAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTsAw596/////Pz7/v7+/v7+/v7+//////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/fz7////3sq3 + iUIAjkoCj0kAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkA + jkkAj0wBiD8AqHM+/fz7/Pz7/v7+/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v3+/v39/fz8+PXxnWIpiUIAj0sBjkkA + jkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkoAjUgBjkoK + 6t7S/v7+/fz8/v7+/v7+/v7+/v7+//////////////////////////////////////////////////// + /////////v7+/v7+/f39/f38+vj1oGgviUEAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkgCjEYH5tjJ/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /v7+/v7+/Pv6////2cStiEAAj0oCjkkAjkkAj0kAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkgAkEwChz4ArHpH/f38/fz8/v7+/v7+/v7+//////////////////////// + /////////////////////////////////v7+/v7+/v7+/v7+/fz8////y6yNhTwAkEwCjkkAjkkAj0kA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTwAvZRs//// + /Pv7/////v7+/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/v7+/Pv7/v7+r4FQhz0AkEwBjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkgAj0kAkEsChz4A17+n/////Pz7 + /v7+/v7+/v7+/v7+/////////////////////////////////////////////////////v7+/v7+/f38 + /v798enfklISjEYBj0oBjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAj0oBi0QAl1gb9O/p/fz8/v38/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/fz8 + /v7+7ePakE0NjEcBj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAj0sCikMBml0i9/Pu/f39/f39/v7+/v7+//////////////////////////////////// + /////////////v7+/v7+/v7+/v7+/Pz7////toldhj0AkEwCjkkAjkkAj0oAj0kAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjUkAjkkAj0sChTwA0baa/////Pv7/v7+/v7+/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+//7+/Pv6////x6SDhTsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjUgAjkkAkEwChTwAwZx1/////Pv7//7+/f39/v7+ + /v7+/////////////////////////////////////v7+/////v39/v7+/fz7////4M67ikICj0oCjkoA + jkgAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0sBiD8A + pnA8/Pv6/fz7/v7+/v7+/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v79/fz8+fbznmMq + iEEAj0sBj0kAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + jkoAjUkCjUgI59rM/////fz8//7+/f39/////v7+/////////////////////////////////////v7+ + /v7+/v39/f38+vj1oWgwiUEAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0kAjkkAj0kAjkkCi0QG5dXF/////fz7/v7//v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////v7+/v///Pz7////3cm1iEAAjkoCjkkAjUgAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChz8AqndD/fz7/fz7/v7+/v7+/v7+//////////// + /////////////////////v7+/v7+/v79/v7+/Pz7////y6uMhTwAkEwCjkkAjkkAjkoAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTsAu5Fn/////Pz7/v7//v7+ + //7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7+/Pz7////s4RVhjwAkEwCjkgA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkkAj0wChz4A + 1bui/////Pz7/v7+/f3+/v7+/v7+/////////////////////v7+/////f39/v7+/f38/v398Ojfk1ES + jUYBj0oBjkkAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + j0oBi0UBllYa8+zl/fz9/v38/v7+/v7+/v////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7//f38/v797+XckE0OjEYAj0oAjUgAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAj0sBi0QBmVoe9vHr/f39/f39///+/f39/////v7+//////////////// + /////v7+/v7+/v7+/Pz7////tYldhj0AkEwCjkkAjkkAj0oAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0oAjUkAjkkAj0wChTsA0bWZ/////Pv6/v7+/v7+/v7+//7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/v7+/Pz7////yKiGhDoAkEwDjkkAjkkAj0oAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkgAjkkAkEwChjwAv5dw/////Pv6 + /v7+/v7+/v7+/////////////////v7+/v7+/v7+///+/fz7////4dC/ikMDj0oCjkkAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wCiD8ApW85/Pv5/fz7 + /v79/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/v39 + /fz8+/j1oGYtiUEAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAjkoAjkkCjEcG5tjK/////fv7//7+/v7+/v7+//7+/////////////v79/v7+/f39/fz8 + +/r4o2oziUAAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0oAjkkCi0UF5NTE/////fz8/v7+/v7+/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////v7+/v7+/fz7////3su4iUEBj0sCjkkAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEwChz8AqHRA/f38/fz7/f39/v7+/v7+ + /v///////v7+/v7+/v7+/v/+/Pv7////za+RhTwAkEwCjkkAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkE0ChjwAu5Jo/////Pz7/v7+/v7+/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/fz7////tIdZ + hjwAkEwCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + jkkAj0wChjwA0rec/////Pv6/v7+/f7+//7+/v7+/////v7+/v7+/f38/v7+8erilFITjEYBj0oBjkkA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0UAl1YZ + 8+3m/f39/f39/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/fz8/v398Offk1ISjEcBj0oAjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBi0QBl1ga9O7n/f38/f39/v7+/v7+/////v7+/v7+ + /v7+/Pv6////t4tfhjwAkEwCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0oAjkkAjkkAkEwChz4A0LWZ/////Pz7/v7//v7+/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+/v7+/Pv7////zK2Ohj0AkEwDjkkA + jkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkgAkEwChjwA + u5Nq/////Pv6/v7+/v7+/v7+/v7+/v7+/Pz7////4dC+ikMCj0oCjkkAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wCiEAAp3E7/Pv5/fz7/v79/v7//v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/////v7+/fz7+/j2o2sziUEAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkAjkkAjkoAjkkCjEcG5dbH/////Pz7/v7+/v7+/v7+/v39/fz8+/n3pG00iUEA + j0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0kA + jkkCikQE49PC/v7//fz8/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////4c+9iUICj0oCj0kAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBiEAAp3E7/Pv5/fz8 + /v79/v7+/v7+/Pv6////zK+Qhj0AkEwCjkkAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkgAkE0ChTwAuY9j/////Pv6/v7+/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/v7+/v7+ + /Pv6////t4xghjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAjkkAkEwChj4Az7OX/////Pv7/v7+/f38/f398erilFQVi0YBj0oBjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0UBlVUW8+zl/v39/f39 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/f38/v7+8+zllFQVi0UBj0oAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0sBi0UAlVUX8uzk/v39/fz8/Pz7//// + t4xhhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oA + jkgAjkkAj0wChjwA0LOX/////fz7/////v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v///fv7////zrGU + hjwAj0wCjkkAjUkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChTwAuI5k////+/r5////4tHAiUIDjkoCj0oAjUkAjkoAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0wCiUAApW84/Pv6/f38/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v///v7+/f38+/r4pG02iEAAj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0kAjkoCikMD4tC//v79+vj1pG02hz8AkEsBjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkkCi0QF49TD + /////fz8//7//v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/////fz8////49TEi0UFjkkCj0oA + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBiEAA + oWkx////zrGThTsAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkgAkEwChj0AupBl/////fz8/v///v7+/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/v/+/fz8////uZBkhj0AkE0CjkgAjUkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAjkkAjkkAj0sAiEAAwZ12m18iikIAj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjEYBlVYX8uzl/v79/v39/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/f39/v398+zmllYXjEYBj0oBjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAjkkAjkkAikMAjEYAjkkA + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjkgAjkkAkEwC + hj0Az7SX/////fz7//7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//7+ + /fz7////0bWZhz0Aj0wCjkkAjUgAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0oBjkoAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAjkkAjkkAj0wCiEAApW86/Pv5/fz8/v7+//7+/v7+//7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+//7+/v7+/fz8/fz7p3I+iD8Aj0wCjkkAjkkAjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAjkkAj0kCikQF49PD/////Pz8//7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+//7+/fz8////5dbH + jEYHjkoCj0oAjkkAj0kAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oA + jkkAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChj0AuI1i/////fv8/v/+/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/v7+/v///fz7////vJRqhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oBjEUBlFQW8uri/v7+/f39/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/f39/f399O7ol1kci0QBj0sB + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjUgAjkkAj0wChj0AzbCT//// + /Pz8/v7//v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/Pz7////07mfhj0Aj0wCjkkAjUgAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjkkAjkkAkEwCiEAAomw0/Pr4/f39/v7+/v7+/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////v7+/v7+/fz8/fz8qHNAhz8AkEwCjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkkCiUIC4dC+/////fz7/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz8////5tjJi0YFjUgCj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAkEwChTwA + t4tf/////fz7/v7+/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/v7+/fz7////vZZuhTsAkE0CjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0oBi0YBlFMT8eri/v7+/f38/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v39/f399vHs + mVseikQAkEsBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkgAjkkAkEwChj0Aza+Q/////Pv6/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/Pz7////1Luhhz4AkEwCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + j0sAiEAAo2w0/Pr4/fz8/f39/v7+/v7+/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/v7+/v79/fz7/f38qndDhz8AkEsB + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAjkkAjkkAjkkBi0QD4c+9/////Pz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/fz7/v7+6NvNjUkIjUgBj0kAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwBhTsAt4xf/////Pv6 + /v7+/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/Pv6////wZt2hTsAkEwBjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0oAi0UAlFIT8eri/v39/fz8/v7+/f39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/v7+ + /f38/fz89vHtmVsfikMAj0sAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEsChDoAy6uN/////Pv6/v7+/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/f3+/v7+/Pv7////1r6lhj0Aj0oBjkkAjUkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sAiEAAoWkx + +/n3/fz8/f39/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v39/fz7/v7+ + rXtJhj0AkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oBjkkAj0oBjkoCiEEA4M68/////fz7/v7+/v39/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////f39/v7+/fz7/v7+69/SjkgJi0UAjkgAjUcAjUgAjUgAjUgAjUgAjUgAjUgAjUgA + jUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUcAjUcAjkoAhDkAtYlb/////Pz6/f7+/v7+/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/v39/v7+/Pz7////xKF9jEcSlVQW + k1IUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUk1IUlFMV + kU8TmVoj8ejg/v39/fz7/v7//f39/v////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v///f39/f38/Pv67+bd8Ofe8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off + 8Off8Off8Off8Off8Off8Off8Off8Off7uXd9O7o/////f39/v7+/v7+/v7+//7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v////7+/v7+/v7+/v7+//////////////////////// + /////////////////////////////////////////////////////////////////////////v39/v7+ + ///+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////7+/v////// + /////v7+/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v79/////////v7+/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/////v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAEAAAACAAABABgAAAAAAAAgAwAAAAAAAAAAAAAA + AAAAAAAA//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v79/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////9/Lt9/Pu + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Pt/v7+/v79/v7+/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v79/v799/Ls9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Pt9/Lt/v39pm80omkso2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2svnmMrzrGR/////fz7//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/fz8//// + 1bygnGAqo2svo2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2svnWEruY9i/fz8wJpwkUwEiUIAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0UAiUAAlVQT7uTZ + /v39/fz8/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f38/v7+9O3nmFkViD8Ai0UAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAikMAi0MA3sq1/v7+/fz8wJhviD8AkU0Fj0sCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkU0EiD8AuItb/////f38/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7////vZNniD8AkU0EkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCj0sCkU4EiUAAuY9h + /////Pn4/v7+9e/pnF8ei0UAj0oBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0MA3cix/////fz7//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////Pz7////49G/j0oHjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEYBl1cU8urj/v39/fv6+vf0//// + 1LqfikIAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoAj0sBikIAoWcq9vLt/fz7/v39/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /f38+/n3p3A0iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEAzrCQ/////fz7/v7+/fz7/fz7+/n3q3hBiUAAkEsC + j0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiEAAyKaB/////fz7/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/Pz7////z7GRiUEAkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oBikIApnA0/fz7/v39/v7+/////////f38////6NrMkEwHjUgBjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoA + jUgBlFIO7uTa/////f38//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz8/v398OfellYTjEYBj0oBj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgB + jUYA4tG+/////fz7/////v7+/v7+/////fz8////wJpvhz4Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsCiD8As4RR/fz7 + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v38////uY9ghz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8Au5Fk/////f38/v7+ + /v7+/////////v7+/fz8/v389e/pnmMmi0MBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCi0QB3Mav/////fz8/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/Pz8////4tG+jUgCjkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0UAmFkW9e/o/v7+/f38//////////////////// + /////fv6////17+miUEAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikMAoWgp+vfz/v7+/v79//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f39/fz8+/j2pW4z + iUAAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAj0oBiUEA0ria/////fz8/v7+/v7+/////////////////v7+/v39/v39/v/+ + sH9LiEAAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoAj0sCiD4Ax6Z//////fv6/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////7+/v7//fz8////yqqHiD8Aj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0sCiUIAqXU7/fz7/v39/v39/////////////////////////////v7+/fz7/v7+6t3PkU4NjkgCjkoB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0oAjUcBkU0N7ODU/////f39/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v///f38/v7+7+bdlVMOjEYBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkBjUgB5dXG//// + /f38/////v7+//////////////////////////////7//fz7////w551iD4AkEwCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sB + hz4Ar35J/v39/fz8/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v39/fz7////tolYhz4Aj0sDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBiEAAvZZq/////f37/v7+/v7+//////// + /////////////////////v7+/////f39/v7+9vHsnmMki0QAj0sAj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oCi0QB2cKo//// + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz8//// + 3su3jUcDjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBmlsZ9O7n/v79/f38//////////////////////////////// + /////////v7+/v7+/fz6////2cGpikIBj0oDjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBi0MAn2Qn+PTw/v79/f38/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f39/fz8+vf0omosiUEAj0oBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sCiD8A0reZ/////fz7/////v7+//////////////////////////////////////////// + /v7+/fz7/Pv6sH9KiD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0Aw594/////fz7//7///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/Pz7////yqmGiUAAj0sCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUEAq3hA + /Pz6/f38/v39//7+/////////////////////////////////////////////v7+/////f37////7OLW + k1EOjUcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoBjUcCklAO6t7Q/v7+/fz7/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////f39//7/7ePYk1ENjUcAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUcBj0sG6NrL/////fz8/v///v7+ + /////////////////////////////////////////////////v7+/v7+/fz7////xqR+hz4Aj0sCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEsBiUEAsIFN/v79/v39/v3+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v79 + /Pz7/v7+s4RQiEAAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBhz4AwZty/////fz8/v7///7+//////////////////// + /////////////////////////////////////v7//v39/v399/PuoWgrikIAj0oBj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iEAA176j/////fz7//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/fz8////2sSti0QBjkoC + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0kAj0sBi0QAm14d9vHr/v79/f39//////////////////////////////////////////// + ///////////////////////+/////fz8////3MawikMBj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCi0QBnGAi9O7n/v38 + /fz8/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////f39/v39+fbzoGcoikIAj0sBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iUEA1buf/////fz8/v7+/v7+//////////////////////////////////////////////////////// + /////////v7+/f79/fz8/f39soNPhz4Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz0AwZxz/////f38/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/Pz7////x6V/iD8AkEwBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wBiEAArHpD/v7+/v38/v7+ + /////////////////////////////////////////////////////////////////////////////v7+ + /f38/v7+69/SlFIPjUcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkgBkEwG6dvN/////fz8//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////Pz7/v397ODUlFMRjUcCj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBkE0I6NvM//7+/fz8/////v7+//////////// + /////////////////////////////////////////////////////////////////////fz7////yKaB + hz0AkEwDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sCiUEArXtG/Pv5/fz7/v39/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v///f38////sH9K + hz8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0wChz8AwJlv/////f38/v7+/v7+//////////////////////////////// + /////////////////////////////////////////////v7+/v7+/f39/f389/Puomgti0MAj0sCj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0sDiD8A1r2i/////fz7/////v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/f38////18ClikMAj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0oBi0QAnmIj9vHs/v39/v39//////////////////////////////////////////////////////// + /////////////////////////////////////v7+/fz8////3sq0jEYAjkoCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAi0UA + nWAf9vHs/v7+/v79//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/f38/f389vHsn2Qli0QBj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCikIA2MGo//// + /fz7/////v7+//////////////////////////////////////////////////////////////////// + /////////////////////////////fz8////tYhWhz4Aj0wBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiD8AwJpw/v7+/fz7 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////+/////fz7////xKF6hz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wBiEAAsH9L/////f38/v79/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////fz7/v797uXblVQVjEYBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkCjkkG59jJ/////f38/////v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v///f38//// + 6t3PkU4IjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgBkU4J6t7Q/v7+/fz8//////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz7////yqqGiEAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUEAqnY9/Pr4/v39/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////+/v39/fz7/fz7r39KiUEAj0sCj0kA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEwChz0Aw553/////fz8/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f39/v79+/n3omor + ikEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkoAj0sCiEAA0raY/////fz6/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7//fz7////1ryiiUIAj0oCjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikMBnmMm + +PTw/v39/f39//////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz7////38u2i0QEjkoDjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0kAj0sBjEUAmVwb9e/p/v7+/f38//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////f38/v7+9vHsnF8eikMAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA2MCl/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/fz8/v7+t4pZiD8AkEwCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz4A + vpVq/////fz7/v/+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /Pz7////wJpwhz0Aj0wDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAAr39J/v7+/v39/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////f39////8urillcTjEYAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUgCjkgE5dXE/////fz7 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////fz8////59nLkEsHjUgB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoBjEcBk1AN7OLW/v///fz7//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/Pz7////za6OiEAAj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBiUEAqnY8/f38/v39/v3+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////f39/fz8/fz7rHlCiUEAkEsBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iD8AyKaB/////fz7/v///v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v79 + /fz7+fXypW0xiUEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEA0bWX/////fz8/////v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/fz7////z7OTikIAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBikMAn2Yl+vf0/v7+/f39 + //7///////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/////fz7////4tG+jEYC + jkoBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oBjEUCl1gY8+vk/v79/fz7//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////f38////7eLWlFEOjEcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkoBi0QA28av/////fz7/v7//v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v79/fz7/v7+uY5fiEAAj0wCjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEsCiD8Auo9h/////fz8/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v79/fz8+/r4rHlE + iUEAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBiD8As4RR/f39/v39/v7+///+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7//f38/v7+7+fdl1cUjEYBjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBjkgB + 4tC+/////f38/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v///v7+/Pz7////wp51hz4Aj0sCj0kAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjUcBk1EN7+Xb/////f39/////v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////fz8////z7GRhz4Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAp3E4/Pv5/v38/v39 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+//7+/fz7////3ciwjEUAjkkBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0Ax6WA//// + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/f39/fz7+vj1qHI4iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAkEsCiD8Az7GR/////f38/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/////fv7////7OHUlVQWjEYBj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikMAomks+PPv/v39/v79//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/fz7 + ////5NPBj0oGjkgBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBjEYAl1gU8uri/v7+/fz8//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7//f38////8uvj + n2QoiUEAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCi0QB38u2/////fz7/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f38////u5Jlhz0A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBiD8AupBi/////fz8/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////fz8/v7/+PTvq3dAiD8AkEwBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0wCiEAAt4pa/v7+/f38/v79/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/fz8/v398erimVwcjEUBj0sBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkBjUgE4M66/////fz7/////v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/////fz8////+vj1rHpFiD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjUcBlVQR + 7+bd/v7+/f39//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/fz7////0LSUiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikIAo2sv + +/n4/v39/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v39////+/n2tYhXhz4Aj0wDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0AyquI/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/fz8/fz7qHM5iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4Ay6uJ/////fz7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+///+/v7+/fz7////+vf0 + rXtIikIAj0sDj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sBikIAo2wx+PXx/f38/f38/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////Pz7////4tLAjkgHjUgCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBllYS8Oje/v7+/f38//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////fv7////9/Puq3hChz4Aj0sBj0oAj0kA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkoBi0UA4M24/////fz7//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/Pz6 + ////vpZqiD4Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AuItc/////fz8/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////7+/////v7+/fz7////7+XaomoxiEAAkEwDj0oAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwC + hz4AtolZ/////fz8/v3+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////f39/v7+9vHsnGAdi0MA + j0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkCjEYB38y3/////fz8/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /v///v39/Pz7////38y3mFkciUAAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEYDllYX7+bc/v7+/f38 + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/fz7////1LqeiUEBj0sDjkoAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoA + j0sBikIApGww+vj1/v39/f39/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////////Pv6////////y6yJ + j0sEikMAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiD8Azq+O/////fz7//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v39/fz7/Pr5qnY9iD8Aj0wCj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AzK2M + /////Pz7/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/////v7+/fz7////8+zks4NTiUEAjUkAkEsCjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAkEsBiUEApnA0/fv6/v39/f79/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v///f38////5tjJkUwIjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYBlFIP7uTa/v7+/f38//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////v7+/fz7////////3Mixm14hiEAAj0sCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjkkCjkkG4c+7/////fz7/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //7+/v7+/fz7////v5lviD8Aj0sDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUAAtIZV/////v39/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+///+/v39 + /fz8////+PTvvpZujUgDikQAkEwDj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4AuI1d//// + /fz7/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////7+/f38/f38 + 9O7nm10ci0QAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA3ciy/////fz8/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////v7+/fz7////////28aunmImhz4A + jkkAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYAl1gW8+vk///+/f38/////v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7//Pz7////1LqdikIAj0sB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oBikMAoWgp+fby/f39/f39//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/////v7+/fz7/v//////8OjdtolbjEUAikMAkEwCj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAzrGR/////fz7/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v39/fz7/f38rn1HiD8Aj0sCj0kAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0sBiD8AyKiE/////fz8/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////f38////////+/j2y62LlVQSiD8AjkoBj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0oBiUEApW4z+vj1/v39/v39//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/Pz7/v7+6d3Qkk8LjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUcBkk8J7eTZ + /v7+/f38/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////v7+/f38/f39/////Pr4 + 2sSsomktiD8AjEcAkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjkkAjkgD + 49PB/////fz8/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f38////w552hz4Aj0wBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD4As4VS/////f39/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/////f38/v7+////////38y3qXU+iUEAikMAkEsCj0sB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4AvJNm/////fz7/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////f39/f389vHrnGAgikMAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBjEYA3Mex/////fz7/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////////v39/fz8/v7/////////4tC9rntHjUgCiUIAkEsCj0sBj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oBjEUBmVsZ9O7m/v7+/f38//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/Pz7//// + 2MCnikMAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0oAi0MAnmMj+ffz/v39/f38//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/v39/fv6//// + /////fz82MGnrXtIjUYAiUEAjkkAkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sCikEA0bWX/////fz7/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f39////r35IiUAAj0wC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiEAAxKF6/////fz8/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////v7+/f38/fz6/v7/////////8uvj0bWXomktjEUAiD4A + j0oBkEsBj0oAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsC + iUEAqHQ7+/j2/fz8/v39/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////fz7/v7+6NvNkEwIjUgBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jUgBkk8K7ODV/////fz7/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////v7+/v7+/v7+/v39/v39/////////f3859jKvZVqnF8hiD8Ai0QAj0oAkEwEj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgBjkkE5dXE/////fz7 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/Pz7////w551iD4Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAsIBL//// + /f38/v7+///+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////v7+/fz8/fz6//////// + ////////69/T0baYqndBjkgAiUAAi0QAkEwDj0sBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AvZRo/////fz7/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f39+vbzn2UlikMAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCi0QA2sOq/////fz7/v7//v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/v79/v38/v38/f38/v///////////v398Ojf0bWXsYBNlVUShz0A + ikIAjkkAkEwCj0sCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oBi0UBmlsc8eri/v39/fz8/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////Pz7////28avi0MBj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikMAnmIj+PXx/v39/f38///+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v79/f38 + /fz7/fz6/v7+/////////////////Pr55dXDyaqHr31Lkk8HikMAiUEAjUYAkEwDj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAj0oBiUEA1Lqd/////fv6//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/f79/fz7/f38 + sYJOiEAAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AxKB5/////fz8/v///v7+//////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////v7+/v39 + /v39/v39/v39/v39/v39/v38/v38/fz8/fz8/f38/f38/v38/v38/v39////////////////////9vDq + 6d3P0baYtIZVn2Unkk8HhjsAiUAAjkgAj0sBkEsCj0sBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUAArHpD/f38 + /v39/v39/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////fz8////7OHWkk8KjUcAjkoA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjUgBkU4J6NrM/////fz8//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////9O3l49PB1Lqew552soNRnmIhikIAikIAiUEAikIA + jUgAkE0EkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoBjUgCj0wK59nK/////fz7/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////xqR+hz4AkEwCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iUEArnxG/v7+/f38/f39/v7+//////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz6+PXv+fXy+fXy+fXy+fbz9vDr8Oje8Oje6dzO + 5NXE2MCmzbCPv5dusIBMn2UnmlwZk1EJjEUAhz0AiUEAjUcAkEwEkE0EkU0EkU0EkEwDj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sBkE0Ehz4Av5ht/v7+/fz7/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////+/f39/f389/PuoGYnikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAA1r2i//// + /Pz7/////v7+//////////////////////////////////////////////////////////////////// + /////////////////fz7////4M25l1YeoGYnn2MknmMkn2QmmVsYkUwEkU0FhTkAgzcAhDgAhDkAhDkA + hToAhToAhz0AiEAAikIAi0UAi0QAikIAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAikIAhz0Am1wc9O7o/v7+/f39/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+//7//f38////2sSsi0QAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0UBnWEg9fDr/v39/f39//////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////6NrMtIZYupFjuY9huo9huY9gupBjvJNnvJNnvpdsv5dtv5dtv5dsvpdsvpdsvpdsvpZrvpZr + vpVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvpdsuI1g + 4M24/////fz8/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////+ + /v7+/fz7////tIZUiD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8AwZxy/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz7/v397ePY + llURjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkgBkEsF6NrN/v7+/fz8/////v7+//////////////////////////// + /////////////////////////////////////////////////v7+/////v79/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v39/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/Pv7////yaiEiD8Aj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEsCiUEArXpD/v7//f39/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////f39/v38+vf0oWgrikIAj0sBj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oB + ikMA1bqf/////fz7/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz7////3MiyjEYBjkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0QAmlwa9O7n/v39 + /f38/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/f39////tIdViD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD4Avpds/////f38/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /fz8/v7+7+XblFIOjEYBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgBjkoD5dbF/v7//fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v38/v39 + /v38/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/////////v////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz8////y6uI + iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBiUEAq3c//fz7/v38/f79//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f39/v39/Pv6pGwuikEAj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sCikIA1Lqd/////fz7/v///v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7++fbzqXY9nmImoGYnoGUnoGUnoGUnoGUnoGUnoGUnoGUn + oGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUn + oGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnn2UnoGUnnmMm4c+8//// + /fz8//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz7////4tC9jUgEjkkCjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0QA + mVsZ8+zl/v38/fz8//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/fz7////xaJ8hToAi0QAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAi0QAhDoAqHI6+/n3/v39/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz8////uIxciUAAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8AvpZs/////fz7 + /v7+//7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz7/v7+ + 7ODUk1EPjUcCkEwDj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sCkEsCjkkDkk4L6t7Q/////fz7//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////f39/v7+8enhllYQjUYAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkkE49PB/////fz8/v///v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/f38////soJOiEAAj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0wBiD8Awp10/////fz8/v7+/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /Pz7////za+OikEAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sDiEAAp3I3/Pr4/f38/v39/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/Pz7////2cOri0QAj0oBjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0UAnWAf + 9vHs/v79/fz8//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/f39/f38+/n3pm8z + iUEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0oCikIA0LOU/////fz8/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/f38/f38+PPvoGcqi0QBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCiUEA1r2i/////fz7/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////fz7////4tC9jkkDjkkBjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAi0YAl1gT8+3l/v7+/f39//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////x6V/iD8AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiEAArXtF/f38/f38/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/fz8////vJJmiD4AkEwCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiEAA + upFj/////fz8/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f38/v7+6t7RklALjUcB + jkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0kAjkgBkU0I6NrM/////f38/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7//fz8/v798eril1kVi0QAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgBj0oG5NPC/////fz7 + /////v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v79/f38/f38soNQiUEAj0sCj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsC + hz4AwZty/////fz8/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////+/v///f37////0bWXiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApm8z/fz6/f38/f39//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////fz7////3MexikMAj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0MBnGEj9vLt/v39/f38 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////f39 + /f38/Pr4qHM6iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oCiUEAz7KS/////fz7/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v39/f38+PXxomotikIAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUIA1r2i/////fz7/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz7////49PBjUgC + jkkBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjEYBllYU8ejf/v79/f38/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz7////y6yJ + hz8Aj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAkEsBiD8ArXpD/fz7/v38/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/fz8////vJNmhz8Aj0sBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEsChz4At4ta/////fz8/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////f39////7ePZlFIPjEYAj0oAj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjUgCkEwL6dzO/////fz7//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////fz8/v398+vkmFoXi0UAj0oBj0kAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkkBjUcD + 38y3/////fz7/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/fz7/f38tYdVhz8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AwZtx//// + /fz8/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/fz8////0reaikIAjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApGww+/j2/v38/f39 + /////v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/fz6////3su1jEUEjkoCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0QAnGAf9fDq/v79/f39//7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v79/v39/f39q3c+iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AzKyK/////Pz7/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v/+/f39/v79 + +fb0o2otikMAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCikIA07eb/////fz7/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/////fz8 + /v7/59fIjkoEjUkBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0YBl1cV7+bc/f39/fz7/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+//7//fv7////yqmGiD8AkEwCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sBiEAAqXU7/Pv6/f38/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz8////v5dtiD4A + kEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBiD8Atotb/////fz7/v7+///+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////7+/fz8/v7+7uTalVQUjUcCj0oBj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkCj0oK + 5tbG/////fz8/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////f39/v399O7om10ci0UBj0oBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAj0oBjUcB4M25/////f38/v7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////f38////tolXiD8AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD4Avpdr/////fz7/v39/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////fz8////07ibiUAAkEsBjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCikIAomos + +PTw/fz8/f39/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////3ciyikMAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAi0UAmlsY9O7n/v7+/v39/v////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f39/f38/v79q3c/iUAAj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz4AyaiF/////fz7//// + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f39/f38+fXxomoviUEA + kEwCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0sCiUAA07mc/////fz7//////7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////fz8////6NvMkEwHjUgBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUcAk1EL7uTa/////f39//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////f38////y6uJhz8Aj0sBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sB + iUAAq3dA/Pr4/fz7/f39/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v///fz7 + ////wpxziD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8AtIZU/v39/fz7/v39/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////f38/v7+7uPYlFMPjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgBj0oC5dbG/////fz7 + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////+/fz8/v399/LunGAfi0MA + j0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0kBjEUC3cm0/////fz7/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v79/f38/v7+tYhYiD8AkEsCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz0AvpZr/////fz8/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v///fz7////17+likMAj0oBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + j0oBikMAomgq+vf0/f39/v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////Pz7////4M24 + i0UAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0sBi0QBm10f8+3m/f38/fz7/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////7+/v79/f39////rnxGiUAAkEsCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiEAAyKWB + /////Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v79/f38+PTxomkti0MAj0sBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEwBiUEA0rea/////fz7/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7//fz7////6t3QkE0IjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjUcBkk8M69/T/v7+/fz7//// + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/fz7////y6yKhz4Aj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUAAqnU9/Pz7 + /v38/v39/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/v7+/fz7////wZtyhz8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiEAAsoJP/////f38/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////f38/v7+8enhllYSjUcBj0oBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgCj0sJ5dbG//7+/Pz7/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////f38/v79 + +PTwnGAfi0QAj0sAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkoCi0QA28St/////Pz7/v7+/v7+//////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/f38 + ////uI1diD8AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBhz8AvpZq/////fz7/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/fz7////2sSsi0UAj0oB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0kAj0sCikMAnmQl9/Lt/f38/f39/////v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/fz7////4tC+jUcCjkkBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0oBi0QAmVsZ9O3m/v79/f38/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/f38////sYFMiD8Aj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + kEwChz4AxaJ8/////fz7/v7+//////////////////////////////////////////////////////// + ///////////////////////////////////+/f39/f39+/n3pGwwikEAj0sBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sCiUAA + 07mb/////Pz7/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////fz7/v7+7OHUkU0HjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjUcBk1AO6+DU + /v7+/Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////v7+/v///f38////za+OiD8Aj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAq3c+/fz7/fz8/f79//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/fz8////xqR/iD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz4AsIBM/v79/fz7/v7+//// + //////////////////////////////////////////////////////////////////////////////7/ + /fz8/v7+8erillYSjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBjkkF5tfH/////fz8/////v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////f39/f39+PXwn2Qli0MAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA2cKp/////fz8/v7///////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz8////uI1fiD8A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0wDhz4AvpVq/////Pz7/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz8//// + 2sWtikEAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oBi0MAnWAg9vDq/f38/f38/v7+//////////////////////////// + /////////////////////////////////////////////fz7////4tC9jUcAjkkBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jEQAm10b9O/p/v7+/f38//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v39/v7+soJPiUAAkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sDhz8Aw552/////fz7/v7+//7+//////////////////////////////////////// + /////////////////////v7+/f39/f38/Pr4pW8yikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUAA07ib/////fz7 + /v7//v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////f38/v7+7OHWklAMjUcBj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jUgAklAK6dzO/////f38/v////////////////////////////////////////////////////////// + /v7+/////fz7////za+OiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCiEAAqXY9+/n3/fz7/v39///+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////fz8////yamFiD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0wCiEAArXpD/Pv6 + /fz6/v39/v7+/////////////////////////////////////////////////////////f39/v7+8eng + lVMPjEYAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkBkEwF5tjJ/////f38/v///v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/f39/v39+fXyomkrikMAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sDikMC17+l/////fz7/////v7+ + /////////////////////////////////////////////v7+/v7+/f38////uI1diEAAkEsDjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEwBiD8Au5Jl/////fz8/v7+//7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////fz8////3ciyi0QAjkoCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBi0QAnmIi9vLt/v7+/v7+//////////////////// + /////////////////////////v7+/////fz8////4tC9jkgEjkkBj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBmFoX8uvj + /v39/fz8/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/fz8//// + tYdViD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0wDhz4AwZtx/////fz7/v7+/v7+//////////////////////////// + /////////////v7+/v39/Pr4pG0vikMAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiEAAz7KT/////fz7/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////fz7/v7+7uTalVQQjEYBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oBjUgCkU4N59jI/////fz8/////v7+/////////////////////////////v7+/v7+/fz8 + ////za6NiUAAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUEApm8z/Pv5/v39/f39//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////yaiDhz4Aj0sCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sB + iUAAqnY9/fz8/f38/v7+/////////////////////////////v7+/////f38/v398enhllcVi0UBj0oB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkgBjkkD5NTD/////fz8/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////f39/v39+/j2oWgqikIAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUIA07mb//// + /fz7/v7+/////////////////////////////v7+/f38////t4tahz8AkEsBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiD8A + upFj/////fz8/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/fz7////4M67jEYDjkkCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBi0QBm18g8+3l/v39/f38/v7+/v7+ + /////////////v7+/v7+/Pz7////5NTEjkkEjUkCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjEUAllcT8+vk/v39/f38//// + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/fz8////uIxciD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz0Avpdr/////fz7//////////////////////// + /f39/fz8+/n3p3E4iUEAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBiUAA0LSV/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////fz8/v7+8Ojf + llYSjEcBj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkgBkEwI5dfG/////fz7/v7+/////////////v7+/fz7////0LSWiEAA + kEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBikIAp3A1/Pr5/v39/v39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/fz7////za2Mhz8AkEsCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0sBiEEArHlC+/r4/fz8/v39/v7+/v7+/v7+/f38/v398+zkmVoZi0UBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkBjUcA49LA/////f38/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v38/f39+/n3pG0yikEAj0sCjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iD8A0ria/////fz7//////7+/v7+/fz7////u5Jlhz0Aj0wDjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8Au5Jk/////f38 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/////f38////38y3jUcAjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEUBmlsb8eng/v79 + /f38/////f38////5NTDjkkEjkkBjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBl1gV8uvk/v79/f38//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/fz8////t4xchz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wCiD4Au5Jm/////fz7/f39/fz8+/n3 + qXQ6iUIAj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8A0LOU/////fz8/////v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7/v7+8engllYWjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkgD5NTD/////Pr5////0bSXiEAAj0sDjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0kAj0sCikIAp3E3/Pr4/v39/v39/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////fz8////0baX + iUAAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAj0sBiUAApnE2+fbz/f388uvjl1cTi0UAj0oAj0kAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkgE5NTD + /////fz8/v////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v3+/v39/Pv5p3I4iUEAkEsBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkoAj0sCiUAAz7GT////upFjiD8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8Au5Fj/////fz8/v7///7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////fz7////4tG/jUcDjkkCjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAi0MA + nWEh1r2ikE0KjkgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEYBl1gX8urj/v7+/f38///+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v/+/Pz7////u5FkiD8AkEwBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAkU4FjUcAj0oA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sCiEAA0bWW/////fz7/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////f38/v7+8+zlmFkZjEYBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgAj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikIA + qHI4/Pv5/v39/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz6////0LOTiD8AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kCjUcF49G//////f38//// + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v39+/r3qnY+ + iUEAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sChz4Au5Nm/v///fz8/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////f38////5tfIjkkIjkkCj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0oAjEYAl1cU8+zl/v7+/v39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/fz7////v5huhz4Aj0sCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + kEsChz8Az7KS/////fz7/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v79/v7+9O7pmlwZi0UAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsCikEApnA3+vf0/fz7 + /v39/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////fz7////07ibiD8AkEsDj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkoBjEUA38y3/////fz7//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v39 + /fz7+/n3q3hBiUEAkEsCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0wChz4AuY1f/////f38/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////fz8////59jIj0oD + jkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oBjEYCl1YV7+Xb/v39/fz7/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/f37////vpdthz0Aj0wCj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBhz4Ay6uJ + /////fz8//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/fz8/v399O/om18hi0QBj0oBj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApW40+vf0/v39/v39/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////f38////1r2iiUAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkCjEYE4M24/////fz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/v79/v38/v39rnxIiEAAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAkEwChz8At4tZ/v7+/fz7/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/fz7 + /v7+6NrMkU0LjkgCjkoBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYB + llYW7+Xb/v7+/f38/////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////7//fz7////wJpwhz0A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiD8Aza6M/////fz7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////f39/v799vLtnWIki0QAj0sBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBiUEApG0x+vf0/f38/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7////1r6ii0MAj0oCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkoAj0kCjEYF38y3/////fz7/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/f38/fz8rXtEiUAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0wChz8AuIxc/v7+/fz7/v39/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////fz8////697Skk8MjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkoAjUYAllYR8Ofe/v/+ + /v39/v////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/fv6 + ////xKF6iD4AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wCiD8Ay6uJ/////v38//////7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v79/v7++fXyn2Qli0MA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0kAj0sCiUEApW8z+fby/fz7/f39/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////fz8////2cKqikQAjkoCj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkoAjkkBjEYA4M24/////fz8/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7/Pv6sH9LiD8AkEsCj0kAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz4At4pa + /////f38//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38////7OLWkk4KjUgBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEUBl1cV7uXb/v39/Pz8/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////fz8////xaJ8iD8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAAzK2L/////Pz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v39/fz7 + 9/LtomgsikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiUIApGww/Pn3/f38/f39//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////fz7////3Mewi0QAj0oB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkB + jUcE3sq2/////Pz7/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/f38////tolXiD8Aj0wBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8AuIxb/////fz8/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/fz7/v7+7eLWlVMSjUcCj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUYBllYT8Ojf/v7+/f39/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////fz8////yKaBhz4AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBhz8AyaiF/////fz7/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v39/v39+PTxomktikIAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oBikMAomgq+fXy/v39/f39//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/fz7//// + 3Mixi0MBjkoCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0MA3ciy//// + /fz8/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/fz7/v79tIdVhz4AkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBhz8AtIdV/////f37/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////f38////7+belVUUjEYBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkoAjUYBlFMO7uPZ/v7+/fz8//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/fz7////y6yJiD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEwBhz4AyKaD/////fz7/v///v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v38+ff0pW4yikEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikIAoWgq + +vf1/f38/f39//7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////fz7////4M24jEUFj0kCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkCjEYB3ciy/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v39/fz7/v39 + tolZhz4AkU4FkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwD + kEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwD + kEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwCkU0EiEAAtIVS/////f39/v7+///+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v///v39////8OfdlVQQhDoAiD8A + iD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4A + iD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4A + iD4AiD4AiD4AiD8AhToAkU4K7+Xc/v7+/f38/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////7+/////v7+////38y4y6yNzrGQzrCQzrCQzrCQzrCQ + zrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQ + zrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrGS + yqqM38u2/////v79/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/v7+/v79//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v79/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8 + /fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8 + /fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/f38/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxAntiTheft.Designer.cs b/LFP_Manager/Forms/fmxAntiTheft.Designer.cs new file mode 100644 index 0000000..c7f2cd4 --- /dev/null +++ b/LFP_Manager/Forms/fmxAntiTheft.Designer.cs @@ -0,0 +1,161 @@ +namespace LFP_Manager.Forms +{ + partial class fmxAntiTheft + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fmxAntiTheft)); + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.btnClose = new DevExpress.XtraEditors.SimpleButton(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.tmrDisplay = new System.Windows.Forms.Timer(this.components); + this.AntiTheftCmd = new LFP_Manager.Controls.UcAntiTheftControl(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.AntiTheftCmd); + this.layoutControl1.Controls.Add(this.btnClose); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1265, 291, 250, 350); + this.layoutControl1.Root = this.layoutControlGroup1; + this.layoutControl1.Size = new System.Drawing.Size(858, 226); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // btnClose + // + this.btnClose.Location = new System.Drawing.Point(612, 200); + this.btnClose.Name = "btnClose"; + this.btnClose.Size = new System.Drawing.Size(242, 22); + this.btnClose.StyleController = this.layoutControl1; + this.btnClose.TabIndex = 5; + this.btnClose.Text = "Close"; + this.btnClose.Click += new System.EventHandler(this.btnClose_Click); + // + // layoutControlGroup1 + // + this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1"; + this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup1.GroupBordersVisible = false; + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem2, + this.emptySpaceItem1, + this.layoutControlItem1}); + this.layoutControlGroup1.Name = "Root"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2); + this.layoutControlGroup1.Size = new System.Drawing.Size(858, 226); + this.layoutControlGroup1.TextVisible = false; + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.btnClose; + this.layoutControlItem2.CustomizationFormText = "layoutControlItem2"; + this.layoutControlItem2.Location = new System.Drawing.Point(608, 196); + this.layoutControlItem2.MinSize = new System.Drawing.Size(93, 26); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(246, 26); + this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // emptySpaceItem1 + // + this.emptySpaceItem1.AllowHotTrack = false; + this.emptySpaceItem1.CustomizationFormText = "emptySpaceItem1"; + this.emptySpaceItem1.Location = new System.Drawing.Point(0, 196); + this.emptySpaceItem1.Name = "emptySpaceItem1"; + this.emptySpaceItem1.Size = new System.Drawing.Size(608, 26); + this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0); + // + // tmrDisplay + // + this.tmrDisplay.Interval = 500; + this.tmrDisplay.Tick += new System.EventHandler(this.tmrDisplay_Tick); + // + // AntiTheftCmd + // + this.AntiTheftCmd.Location = new System.Drawing.Point(4, 4); + this.AntiTheftCmd.Name = "AntiTheftCmd"; + this.AntiTheftCmd.Size = new System.Drawing.Size(850, 192); + this.AntiTheftCmd.TabIndex = 6; + this.AntiTheftCmd.Load += new System.EventHandler(this.AntiTheftCmd_Load); + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.AntiTheftCmd; + this.layoutControlItem1.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(854, 196); + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // fmxAntiTheft + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(858, 226); + this.Controls.Add(this.layoutControl1); + this.IconOptions.Icon = ((System.Drawing.Icon)(resources.GetObject("fmxAntiTheft.IconOptions.Icon"))); + this.Name = "fmxAntiTheft"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Anti-Theft"; + this.TopMost = true; + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraEditors.SimpleButton btnClose; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private System.Windows.Forms.Timer tmrDisplay; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + private Controls.UcAntiTheftControl AntiTheftCmd; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxAntiTheft.cs b/LFP_Manager/Forms/fmxAntiTheft.cs new file mode 100644 index 0000000..a115b70 --- /dev/null +++ b/LFP_Manager/Forms/fmxAntiTheft.cs @@ -0,0 +1,127 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Linq; +using System.Windows.Forms; +using DevExpress.XtraEditors; + +using LFP_Manager.DataStructure; +using LFP_Manager.Function; +using LFP_Manager.Controls; +using LFP_Manager.Threads; + +namespace LFP_Manager.Forms +{ + public delegate void AntiTheftUpdateEvent(object sendor); + public delegate void AntiTheftCmdEvent(int sId, int mode, int index, int flag, + ref CsDeviceData.DeviceModuleData.DeviceParamData aParam, + ref CsDeviceData.DeviceModuleData.DeviceCalibration aCalib); + + public partial class fmxAntiTheft : DevExpress.XtraEditors.XtraForm + { + #region VARIABLES + + int SystemId = 0; + CsDeviceData.DeviceModuleData SystemData; + CsDeviceData.DeviceModuleData.DeviceParamData Param; + CsDeviceData.DeviceModuleData.DeviceCalibration Calib; + + public event AntiTheftUpdateEvent OnUpdate = null; + public event AntiTheftCmdEvent OnCommand = null; + public event SendDataUartEvent OnSendUartData = null; + + #endregion + + #region CONSTRUCTORS + + public fmxAntiTheft(int sId, CsDeviceData.DeviceModuleData.DeviceCalibration aCalib) + { + InitializeComponent(); + + InitComponent(); + + SystemId = sId; + Calib = aCalib; + + AntiTheftCmd.UpdateData(SystemId, Calib); + AntiTheftCmd.OnSendUartData += SetWriteData; + + tmrDisplay.Enabled = true; + } + + public void InitComponent() + { + // Cell Voltage Calibration + AntiTheftCmd.OnCommand += OnCmdEvent; + } + + #endregion + + #region COMMAND EVENT + private void SetWriteData(ushort WriteAddr, byte[] WriteData, bool RelyFlag, int type) + { + OnSendUartData?.Invoke(WriteAddr, WriteData, RelyFlag, type); + } + + private void OnCmdEvent(int mode, int index, int flag, + ref CsDeviceData.DeviceModuleData.DeviceParamData aParam, + ref CsDeviceData.DeviceModuleData.DeviceCalibration aCalib) + { + OnCommand?.Invoke(SystemId, mode, index, flag, ref aParam, ref aCalib); + } + + #endregion + + #region BUTTON EVENT + private void btnClose_Click(object sender, EventArgs e) + { + Close(); + } + #endregion + + #region TIMER EVENT + + private void tmrDisplay_Tick(object sender, EventArgs e) + { + + DisplayValue(); + if (OnUpdate != null) + { + OnUpdate(this); + } + } + + #endregion + + #region DISPLAY DATA + + private void DisplayValue() + { + // Cell Voltage Parameter + AntiTheftCmd.UpdateData(SystemId, Calib); + } + + #endregion + + #region PUBLIC FUCTIONS + + public void UpdateData(CsDeviceData.DeviceModuleData.DeviceParamData aParam, + CsDeviceData.DeviceModuleData.DeviceCalibration aCalib, + CsDeviceData.DeviceModuleData mData) + { + SystemData = mData; + Param = aParam; + Calib = aCalib; + } + + #endregion + + private void AntiTheftCmd_Load(object sender, EventArgs e) + { + + } + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxAntiTheft.resx b/LFP_Manager/Forms/fmxAntiTheft.resx new file mode 100644 index 0000000..3e6bd1e --- /dev/null +++ b/LFP_Manager/Forms/fmxAntiTheft.resx @@ -0,0 +1,4574 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + AAABAAQAICAAAAEAGACoDAAARgAAADAwAAABABgAqBwAAO4MAACAgAAAAQAYACjIAACWKQAAAAAAAAEA + GAAoIAMAvvEAACgAAAAgAAAAQAAAAAEAGAAAAAAAgAwAAAAAAAAAAAAAAAAAAAAAAAD///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////+/v7+/v7+/v7+/v7+/v7+/v7+/v7/ + ///+/v7////////////////////////////////////////////////////////+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7////+/v7+/v3+/v3+/v3+/v7+/f3////////+/v7///////////////////// + ///////////////////////////+/v7////+/v7+/f3+/v7+/v3+/v3+/v3+/v7////7+ff///////// + ///////////////+/v3+/v7////+/v7////////////////////////////////////////+/v7////+ + /v7+/v7////////////////////////7+PbCnHejazCkbTKkbDKlbjSdYTDLrIr////9/Pz+/v7///// + ///////////////////////////////////////////+/v79/fz////BnHSeYjClbjSkbDKkbDOjazDc + x7L49PGkbDKEOACKQwCJQQCHPgCNRwTt49n+/v39/Pz+/v7+/v7///////////////////////////// + ///+/v7+/v79/Pv//v7j0sKHPgCJQACJQQCLRACCNgCufkv////////q3tKOSQePSgSPSwKRTQSHPgCt + e0f////9/Pv+/v7////////////////////////////////+/v7////9/f39/Pv9/PuiaS6JQQCQTQOP + SwKNSAOUUxLz7ef+/f37+Pb////AmnKGOwCQTAKOSQCPSwKHPwDaxa7////8+/r+/v7+/v7///////// + ///////////+/v7///7+/v77+vj////OsJGGPACQTAKOSQCQTAKGPADNr4/////7+ff9/Pv9/fz38u6Z + WhuLQwCPSgGPSgGLRQGcXyH59vP9/fz9/fz////+/v7////////+/v7+/v7////+/v77+vn////u5NqS + Tw+OSAKOSQCPSwKJQACiai/8+vn9/Pz9/f3+///9/Pv////WvqWHPQCQTAOOSQCQTQOGPADDn3j////8 + +/r+/v7////+/v7+/v7+/v79/fz8+/r9/f3////u49mdYSiKQwCPSwGOSQCPSwKKQgDi0L/////9/Pv+ + /v7//v7+/v79/Pz///+seUOIPwCQTAKOSQCOSQKNSAbq39P+/v39/Pz+/v7////////////////////+ + /v7SuJ6WVRiLRQCRTwaQTASSUAeHPgC4jV7////9/Pv+/v7////+/v7+/v79/Pz+/v7r39SOSQeOSgKO + SQCQSwKHPwCsekT+/v/9/Pz+/v78+/r49PDy6uPi0cDDn3yZXB9/MACEOACHPgCGOwCFPACEOgCTURDz + 7Ob9/fz9/f3////+/v7////////+/v78+/r////CnneGPACQTAKOSQCQTAKHPgDYwan////9/Pz38u7o + 2szgzbvTuZ/MrY/St5zeyrTcyLLcx7Hcx7HdybPVvKfl1cX////9/fz+/v7+/v7////////+/v7////9 + /f39/Pz59fObXiCKQwCPSgGPSgGLRAGaXB349PH9/fz+/v/////////////////28e3AmnrEn3rDn3nE + oXu+lnbcxrD////9/Pv+/v7////////////////////+/v7+/v79/Pv////bxa+HPgCPSwKOSQCQTAKG + PADAmnH////8+/r9/fz9/Pv7+ff9/Purd0F/MACGOwCFOgCEOQCEOADj0sH+/fz9/Pz+/v7+/v7///// + ///////////////////+/v79/Pz///+ufkqHPgCQTAKOSQCOSgKNRwPp3M/+/v79/Pv8+/r////YwaqH + PgCSTwaQTAOSTwaHPgDDn3n////9/Pv+/v7////////////////////////////+/v7+/v79/Pz+/v7t + 4tiNSAaNSAKOSQCQTAKJQQCqd0D+/v79/Pv9/fz49fKbXyCMRQGPSwGPSgGLRAGYWRn38+/9/fz9/f3/ + ///+/v7///////////////////////////////7+/v79/Pv////EoHqFOwCQTQOOSQCQTQOHPwDUu6H/ + ///////Dn3iGPQCQTQOOSQCQTAOGPQDWvaT////9/Pv+/v7+/v7///////////////////////////// + ///+/v7////9/f39/Pv59vScYCOLRQGPSwKPSgGMRQGWVhf7+ffu5duNSAaOSQKOSQCQTAKJQQCqd0D+ + /v79+/r+/v7////////////////////////////////////////////+/v7+/v78+/r////cx7GJQgCQ + TAOOSQCQTAKFOwC/mXKzhVSGPACQTAKOSQCPSgKOSQfq3dH////9/Pv+/v7+/v7///////////////// + ///////////////////////////////+/v79/Pv///+wgU6HPgCQSwKOSQCPSgGMRgCMRwCPSgCOSQCQ + TAKGPADAmnH////9/Pr+/v7////////////////////////////////////////////////////+/v7+ + /v79/Pz+/v3u5NuPSwmNRwGOSQCPSgCPSwGPSgGPSQCPSgGLRACYWRn38u79/fz9/fz///7+/v7///// + ///////////////////////////////////////////////////+/v79/Pv////HpoKFOwCQTQOOSQCP + SgCPSgCOSQCQTAOGPQDVvaP////9/Pv+/v7+/v7///////////////////////////////////////// + ///////////////+/v7////9/f39/fz7+fefZSiIQACOSQCNRwCNRwCOSQCGPQCrd0H+///9/fz+/v7/ + ///////////////////////////////////////////////////////////////////+/v7+/v79/Pv/ + ///fzLmSTxWXWBWWVhSWVhSWVhSWVRrq3dH////9/Pz+/v7+/v7///////////////////////////// + ///////////////////////////////////////////+/v7+/v7////38+728e328e328e328Oz49fD/ + ///+/v7+/v7///////////////////////////////////////////////////////////////////// + ///////+/v7////////+/v3////////////////////////+/v3////////+/v7///////////////// + ///////////////////////////////////////////////////////////+/v7////+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7////+/v7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACgAAAAwAAAAYAAAAAEAGAAAAAAAgBwAAAAAAAAAAAAAAAAAAAAAAAD///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7////+/v7+/v7///////// + ///////////////////////////////////////////////////////////////////////////////+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////// + /////////v7+/v7///////////////////////////////////////////////////////////////// + ///////////////////////////+/v7////////+/v7///////////////////////////////////// + ///38u38+vn8+vj8+vj8+vj8+vj8+vj8+vj7+ff////+/v3+/v7+/v7+/v7///////////////////// + ///////////////////////////////////////////////////////////////+/v7+/v7+/v7////7 + +ff8+vj8+vj8+vj8+vj8+vj8+vj7+ff59fK7kmmbXh+cXyCcXyCcXyCcXyCbXyCdYSGWVR3Fon3////9 + /Pz+/v7///////////////////////////////////////////////////////////////////////// + ///////+/v7+/v79/f39/fz///+1iFqXVx2cYCGcXyCcXyCcXyCcXyCbXiCcYCPn2Mv7+fencTqDOACM + RgCLRACLRACLRACLRACKQwCMRQLq3tL////9/Pz+/v7///////////////////////////////////// + ///////////////////////////////////////////+/v79/Pz////Zw6uGOwCMRQCLRACLRACLRACL + QwCNRwCCNQC4jmH////////r39SNRwWOSgOOSgGPSgGPSgGPSgGQTAOIPwCpdD3////9/fz9/f3////+ + /v7////////////////////////////////////////////////////////////////+/v7+/v79/f3+ + /f359vOZWxyLRACQSwKPSgGPSgGPSgGPSgGMRQKXWBn49PD+/fz8+vn////BnHWFOgCQTAGOSQCPSgCP + SgCOSQCPTAKFOwDVvaT////9/Pv+/v7///////////////////////////////////////////////// + ///////////////////////+/v79/Pv////BnXaEOgCQTAKOSQCPSgCPSgCOSQCPSwGGOwDVvKL////8 + +/r9/Pz9/f349fKZXB2KQwCPSgGOSQCOSQCOSQCPSgGLRAGXWBj38+/+/f39/f3+/v7+/v7///////// + /////////////////////////////////////////////////v7+/v79/fz+/v7r39SMRwWNSAGOSQCO + SQCOSgCOSQCPSwGHPgCpdT7////9/Pz+/f3+/v79/Pv////YwquGPACPSwGOSQCPSgCPSgCOSQCQTAGF + OgC+l23////9/fz+/v7////+/v7////////////////////////////////////////////////+/v7+ + ///9/f39/Pv///+qdkGHPQCPSwGOSQCPSgCPSgCOSQCOSAGLRALp3dH////9/Pv+/v7+/v7+/f39/fz/ + //+se0aHPgCQTAKOSQCPSgCPSgCOSQCOSQKLRALn2s3//v79/Pz+/v7///////////////////////// + ///////////////////+/v7+/v7////+/v78+vn////Rt5qGPACQSwKOSQCPSgCPSgCOSQCQTAKFOwC/ + mXL////9/Pz+/v7////////+/v79/fz///7s4deNSAeNSAGOSQCOSQCOSQCOSQCQSwKHPgCnczv+/v79 + /Pz9/f3+/v7+/v7////////////////////////////+/v7+/v7////////9/f38+/r////j08KNSQiN + RgGOSgCOSQCOSQCOSQCPSgCLRACYWhv48/D+/f39/f3+/v7+/v7+/v7////+/v79/Pz////Dn3qFOgCQ + TAGOSQCPSgCPSgCOSQCQSwGGPADSuJ3////9/Pz+/v7////////////////////////+/v7+/v7///// + ///+/v79/Pv////////cx7KPTA2LRQCPSgCOSQCPSgCPSgCOSQCPSwGGPADWvqb////9/Pz+/v7///// + ///////////+/v79/f3+/f359/SbXiCKQgCPSgGOSQCOSQCOSQCPSgCLRQCVVBT18Oz+/f39/fz+/v7+ + /v7////+/v7+/v7+/v7+/v7+/f39/Pz9/Pv////////49PC/mHSKQgCMRQCPSgCOSQCPSgCPSgCOSQCQ + TAKGPQCreEL////9/Pz9/f3+/v7+/v7////////////////+/v79/Pv////axK6FPACPSwKOSQCPSgCP + SgCOSQCQTAKEOQC8lGn////9/Pv+/v7////////////////////////////////////49fLQs5ibXyWH + PgCPSwKQTQOQSwKQTAOQTAKQTAKPSwOOSgOMRQPq3tP////9/Pz+/v7////////////////////+/v7/ + ///+/v39/Pz///+vf0uHPgCQSwGOSQCOSgCPSgCOSQCOSQGLRAHm18n////9/fz+/v7////+/v36+Pb5 + 9fLz7ejo2s3RtpuwgFCNRwN9LQCCNQCHPgCGOwCFOwCGOwCGOwCGOwCFOwCGPAB/MADCnnj////9/Pz+ + /v7////+/v7////////////////////+/v7+/v79/fz///7v5t6PSgiNRwGOSQCPSgCOSQCOSQCPSwGJ + QAClbjX+/f39/f39/f3//v769/XfzbjZw67QtJrEoX67kmq6kGa/mXLDn3rEoHzEoHvEoHvEoHvEoHvE + oHvEoHvDoHvDnnvEoH369/X+/v79/f3+/v7+/v7////////////////////////////////+/v79/Pv/ + ///GpICFOgCQTAKOSQCPSgCPSgCOSQCQTAKGPADQtJf////9/Pz+/v7///////////////////////// + ///////////////////////////////////////////////////////+/v7+//////////////////// + ///////////////////+/v7+/v79/f3+/f36+PadYiSKQwCPSgCOSQCOSQCOSQCPSgGMRgGUVBP07uj+ + /v39/fz+/v7+/v7+/v3+/f39/fz9/Pv7+vj+/f3cyLSXVyGcYCKcXyCcXyCcXyCcXyCdYSKUUxzDn3z9 + /Pz9/Pz9/f3////+/v7////////////////////////////////////////+/v79/Pz////cx7KHPwCP + SgGOSQCPSgCPSgCOSQCQTAKGPAC5kGP////9/Pv+/v7//v7+/v7+/v7+/v79/f39/fz7+feeYyaGPACL + RQCLRACLRACLRACLRACIQACQTAnw59/+/v79/f3+/v7+/v7///////////////////////////////// + ///////+/v7///79/f39/Pv///+xglCGPACQSwGOSQCPSgCOSQCOSQCOSQGKQgDk1MT////9/fz+/v7/ + ///////+/v79/Pz////HpoOFOgCQTAKOSgCPSgGPSgGOSgGQTAKFOwDPs5b////9/Pv+/v7///////// + ///////////////////////////////////////////+/v/+/v79/Pz+/v7w59+PSgiMRgGOSgCPSgCP + SgCOSQCPSwGIQACiajD+/f39/f39/f3///7+/v79/fz+/v7w6OCPSgmNRwGOSQCOSQCOSQCOSQCPSwKI + PwCiaS79/fz9/fz9/f3+/v7+/v7///////////////////////////////////////////////////7/ + ///+/v79/Pv////Ip4WFOgCQTAKOSQCPSgCPSgCOSQCQTAKEOQDOsZP////9/Pv+/v7+/v79/Pv///+x + glGFOwCQTAKOSQCPSgCPSgCOSQCOSgKIQADj08L////9/Pz+/v7///////////////////////////// + ///////////////////////////////+/v7+/v79/f39/f38+vmeZCeJQQCPSwGOSQCOSQCOSQCPSgGM + RQGRTw7z7ef+/v39/f39/Pz////fzLiHPQCPSgGOSQCPSgCPSgCOSQCQTAGFOwC4jF/////9/fz+/v7+ + /v7+/v7////////////////////////////////////////////////////////////////+/v79/fz/ + ///fzLqHPgCOSgGOSQCPSgCPSgCOSQCQTAGFPAC3jF7////9/Pz+/f38+vifZCiJQQCPSwGOSQCOSQCP + SgCOSgGLRQGTURDz7ef+/v39/f3+/v7///////////////////////////////////////////////// + ///////////////////+/v7////+/v79/Pv///+zhVWFOwCQTAKOSQCPSgCPSgCOSQCOSgKJQQDi0cH+ + /v7////JqYeFOgCQTAKOSQCPSgCPSgCOSQCQTAKEOgDNsJH////9/Pv+/v7////+/v7///////////// + ///////////////////////////////////////////////////////+/v7+/v79/fz+/v3w6eGRTQyN + RwGOSQCOSQCOSQCOSQCPSwKJQQChaC7////x6eKRTgyNRgGPSgCPSgCOSQCOSQCPSwGJQQCiajD8+/r9 + /fz9/f3+/v7+/v7///////////////////////////////////////////////////////////////// + ///////////////+/v79/Pz////LrIuFPACQTAGOSQCPSgCPSgCOSQCQSwGFOwDPspW5j2SGPACQSwGO + SQCPSgCPSgCOSQCOSgGJQgDj0sL////9/Pz+/v7///////////////////////////////////////// + ///////////////////////////////////////////+/v7+/v79/f39/fz9/PygZyuJQACPSwGOSQCO + SQCOSQCOSQCOSACOSACNSACOSQCOSQCPSgCPSgCOSQCQTAKFOwC3i13////9/Pv+/v7////+/v7///// + //////////////////////////////////////////////////////////////////////////////// + ///+/v79/Pv////hz72JQACPSwKOSQCPSgCPSgCOSQCPSgCOSQCOSQCPSgCOSQCOSQCOSQCOSQCMRgGS + UA/y6+X+/v39/fz+/v7+/v7///////////////////////////////////////////////////////// + ///////////////////////////////+/v7////+/v79/fz///+1iVuGPACQSwGOSQCPSgCPSgCOSQCP + SgCPSgCOSQCPSgCPSgCOSQCQTAGFOgDNrpD////9/Pz+/v7///////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7+/v79/f3+ + /v3y6+SSUA6MRQGOSgCOSQCOSQCPSgCPSgCPSgCPSgCOSQCOSQCPSwGIQAChaS78+/r9/Pz9/f3+/v7+ + /v7///////////////////////////////////////////////////////////////////////////// + ///////////////////////////+/v79/Pv////NsJGFOwCQSwGOSQCPSgCPSgCPSgCPSgCOSQCPSgCO + SQCOSQGJQQDi0cD////9/Pv+/v7///////////////////////////////////////////////////// + ///////////////////////////////////////////////////////+/v7+/v79/f39/Pz8+/qiai+J + QACRTQSPSwKQSwKQSwKQSwKQSwKPSwKRTgSGPAC2iVr////9/Pv+/f3////+/v7///////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////+/v79/Pv////j08KGPQCHPQCHPgCIPgCIPgCIPgCIPgCHPwCFOgCRTgvy6uP+/f39 + /fz+/v7+/v7///////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////+/v7////+/v79/f3////JqIeufFOzhVezhFaz + hFazhFayhFazhVete1TWvqb////9/fz+/v7///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/v7+/v7+/v3////////////////////////////////////////+/v3+/v7+/v7+/v7///////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////+/v7+/f3+/f3+/fz+/fz+/fz+/fz+/fz+/fz+ + /f3+/f3///////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAgAAAAAABAAABABgAAAAAAADIAAAAAAAAAAAAAAAA + AAAAAAAA//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////v7+/v7+//////////////////////////////////////////////////////////// + /////////////////////////////////////////fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v39/v7+/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////v7+/////v7+/f38/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/////v7+ + /f39//////////////////////////////////////////////////////////////////////////// + ////////////////////////2MCn3Maw3Maw3Maw3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew + 3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Maw3Mex2cOs8uvk/v7+/f39/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+/f39////4tHA2sSs3Mex3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew + 3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mex3Mew3Mex2cKr9vHtqXQ9ikIAiUEAiUEAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAiUEAikMAgzgAq3hH/v39 + /fz8/v79/v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7+/fz8////49PCiUIBiUEAiUEA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAiUIAiUEAi0MAgzkA + nmMq+vj1/v39sYJUhz4AkU0Ej0oBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0oBj0oBkEwDhz0A1buh/////fz7/v7+/v7+/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v39/Pz8/Pr5pGw1iEAAkE0Dj0oBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sBj0sDjEYG49LC////////7OLWkU4PjEYBj0oBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAj0sBikQAmFod9fDq/v39/v39/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////7+/v7+/v7+/v7+/Pv6////za+QhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChjsAuo9l////+/n4+ff1//// + x6aFhDsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAkEwChTwAv5dw/////Pz7/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/f38/v798evik1IV + i0UBj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkoA + j0oBi0QBlVQX8+zl/f39/fz8/fz8/fz8+vbzoGYuiEAAj0sBjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjkoAjkkAjUkBjEgG6NvN/////fz8/v7+/v7+/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////7+/f7+/v7+/fz7////topehjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sChTwA0LWY/////Pv7/v7+/v///Pz7////3sq3iEABjkoC + jkkAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEsC + hz8Ap3I//fz7/fz8/v79/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v39/v///Pz7////3867iEAAjkoCjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEsChz8ApnE5/fz8/Pz7 + /v7+/v7+/v7+/v7+/Pv7////tIZYhjwAkEwBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0sChTwA0rec/////Pz7/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/v79/fz8 + +/r4oWgwiEAAj0sBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + j0kAjkkAjkoAjkkBikQF5dbG/////fz7/v7+/v7+/v7+/v7+/fz8/v7+8OffkU8QjEYBj0oAjkkAjkoA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAj0oBikMAllcb9O/p + /v39/f38/v7+/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/v7+/Pz7////yquLhTsAj0wCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChToAu5Nq/////Pz7//7+/v7+/v7+/v7+/v7+ + ///+/Pz7////y6yNhTsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAkEwBhTsAu5Rr/////Pz7/v7+/v7+/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz8/v7+7+bckU4PjEYBjkkBjkkA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjUkAj0oBi0QBllcb + 9e/p/v39/f38/v7+/v7+/////////v7+/v7+/v79/fz8+vj1oWgwiUEAj0sBjkgAjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkCi0QF5NXG/////fz8/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+//7+/f39 + /v7+/fz7////tIdZhjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkAj0sChj0A0rec/////Pz7/v7+/v7+/////v7+/v7+/////v7+/v7+/Pz7//// + 38y4ikIDj0oCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0sBhz8Ap3I8/Pv5/fz8/v39/v79/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////v7+/v7+/Pz7////3sm2iUIBj0oBjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEsCiD8AqHM+/fz7/Pz8/v7+/v7+/v7+ + /v7+/////////v7+/v7+/v7+/v7+/Pv7////topehTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAkEsChjwA0bWa/////Pv6/v7+/f39/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/f39/fz8+vj2n2UriUEA + j0sBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkoA + jkgBjEYG5tjJ/v7+/f37/v7+/v7+/////////////////////////v7+/v7+/f39/v398uriklETi0YB + j0oAjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oB + i0UAlVYZ8+3m/f79/f38/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/v7+/Pv6////yKeFhTsAkEwCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChjwAvpZv/////Pz7/v/+/v7+/v7+/v7+//////////////// + /v7+/v7+/v7+/v7+/Pz7////za6QhTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTwAuZBm/////Pv6/v7+/v7+/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v79/v7+/fz7/v7+7ePYkU4QjEcBjkkBjkkAj0oAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0QBmFof9e/p/f39/v39 + /v7+/v7+/////////////////////////////////v7+/v7+/v7+/fz8+/n3o2s1iUEAkEsBjkkAjkkA + jkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAjkkCikQD5NPD + /////Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v79/Pv7/v/+ + sIFShjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAj0sChj0A1Lqg/////Pz7/v/+/v7+/////v7+/////////////////////////v7+/////v7+ + /v7+/fz7////4tHBikMEjkkCjkoAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0sBiEAApW43/Pv5/fz7/v39/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/////Pv6////2sawiD8Aj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEsChz8AqnhE/v79/Pz7/v7+/v7+/v7+/v7+//////// + /////////////////////////v7+/v7+/v7+/v7//fz7////uI1hhj0AkEwCjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0wChj0AzrCT/////Pv6/v7+ + /f39/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/v7+/f38/f389vLtm18jikMAj0oBjkkAjkkA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkoAjUgBjUgH6NzO + /v7+/fz8/v/+/v7+/////////////////////////////////////////////////v7+/v7+/f38/v39 + 8uvjlFUWi0UBj0oBjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0oAjkkAj0oBjEYBlFMW8enh/v79/fz7/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7//v7+//7+/f39 + /Pv6////t4thhjwAj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAkEwChTsAwJp0/////fz6/v7+/v7+/v7+/v7+//////////////////////////// + /////////////v7+/////v7+/v7//Pv7////zrGUhjwAj0wCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwChjwAt4xg/////Pv7/v7+/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7//v3+/Pr6////0bWYhj0Aj0sCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkkAjkkAj0sBi0MAmVsg9vHs/v39/f39/v7+/v7+//// + /////////////////////////////////////////////////v7+/v7+/v7+/v7+/f38/Pr4pW85iD8A + kEsCjUkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + jkoCikIC4tHA/////Pv7/v7+/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7++/r5////38y4i0UHjUgBjkoA + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0wC + hz4A1r6m/////Pz7/v7+/v7+/////v7+//////////////////////////////////////////////// + /////////v7+/v7+/fz8////49LCjEYFjkkCjkoAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBiEAAomoy+/n2/fz7/v39/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v7+/v7+ + /v7++/r5////5NTCj0wQi0UAj0oAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAkEwChz8ArHpI/v7+/fz7/f79/v7+/v7+/v7+//////////////////// + /////////////////////////////////////v7+/////v7+/v7+/Pz7////upBnhTwAkEwCjUgAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0wChToAyqyM + /////Pv6/v7+/v7+/////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/////v7+/v7+/v7+/f39/Pr5////4c+9kE0SikQAj0sBjkkAjkkAj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjUgCjkoJ6d3R/v7+/f38/v7+ + /v7+/////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v39/f399O3nl1gci0UBj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oAjkkAj0oAi0UBk1ET8Ofe/v39/fz7/v7+/v7+/////v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////////v7+//7+/v7+/Pv6/f38////1LuijkkLi0QA + j0sBjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChjwAwp14/////Pv6/v7//v7+/////v7+//////////////////////////////////////// + /////////////////////////////////v7+/v7+/Pv6////0baahj4AkEwCjkkAjkkAj0oAj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwBhTwAtYlc/////Pv6/v7+ + /v7+/v7+//////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/////v7+/v7+/v7+ + /v79+/v5////+/n1wJp1iEEAjUYAj0wBjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBikMAnWAn9/Lu/fz7/f39/v7+/v7+/v7+//////////// + /////////////////////////////////////////////////////////////v7+/v7+/v7+/v7+/Pz7 + /Pv5p3I9iD4AkEwCjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAj0oCiUEA3826/////Pv6/v7+/v7+/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/////////v7+/v7+/v79/Pv6/f3+////6dzPpW89hjwAj0oBj0oBjkkAjkkAj0oAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAj0sChz4A2MKq//// + /Pv6/v7+/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz7////5dbGi0UGjkkCjkoAjkkAj0kAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBiEAAoGct+vj1/fz7/v39/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/v7+/////////v7+/v7+/f39/fz7/fz8////+vj0xaOCjkkJhz8A + j0sBj0oAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAkEwChz0Arn1L/////Pv6/v7+/v7+/v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/////v39/v/+/Pv6////vZZuhjsA + kEwDjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUgA + j0wChDoAyKiI/////Pv6/v7+/v7+/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+///////////+/v7+/v7+/v79/Pv6 + /f38////////28ayn2cyhTwAjEcAj0sCjkkAj0oAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjUcCjkoK69/U/v7//fz7/v7+/v7+/////v7+ + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/f39/f399fDrl1kci0UBj0sBjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkoAjEUAkU4P7+bc/v79/fz7/v7+/v7+/////v7+//////// + /////////////////////////////////////////////////////////v7+/////v7+/v7+/////v7+ + /////v7+/v7+/v7+/fz8/Pv6/v7+////////4M68qnhHiD8AiUEAj0sCj0oAjkkAjkkAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkE0DhjwA + xaJ//////Pv7/////v7+/v7+/v7+//////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/Pv6////07qghz4Aj0wDjkkAjkkA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwBhjwAsoRU + /v///Pv6/v7+/v7+/v7+/////////////////////////////v7+/////v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+///+/v7+/v7+/////v7+/v7+/v79/fz8/Pv6/fz8////////+/n32sSvqnZHikIAhz8AjkoA + j0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjUkAj0sCikMAnmMp+PXx/f38/f39/v7+/v7+//////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/Pz7/f38qXVBiEAAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAj0oBiD8A3cm0/////Pv6/////f39/v7+/v7+//////////////////// + /////////////////////////////v7+/////v7+/v7+/v7+/v39/fz7/Pv6/fz7/f7+//////////// + 7OHWyaiHn2UviD8Ahz4AjkkAj0sCjkkAjkkAjkoAjkoAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wDiEAA28Wv/////Pz7/v/+/v7+ + /////v7+//////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////v7+/v7+/fz7/v//6NrNjkkJjkkCj0kAjkkAjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBiUIAn2Ur+fb0/fz7/f39 + /v7+/v7+/////////////////////////v7+/v7+/v7+/v7+/f38/fv6/fz7/fz6/Pv6/fz8/fz8/v7/ + /////////////////Pz66dzPza6Qq3dGkE0Mhj0AikMAj0sCj0sCj0oAjkkAjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + kEwChz4AsIJS/v7//Pv7/v7+/v7+/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v7+/////Pv6 + ////v5lzhTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkgAkEwBhDoAxqSC/////Pv6/v7+/v79/v7+/v7+/////////////////v7+/////v7+/v7+ + /////////////////////////////v788+3l5NTE07icuY5moWgvj0sIhz4AiUIAj0oAkE0FkU0Dj0sC + kEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsB + kEsBkEsBkEsBkEsBkEsBkEsBj0sBkEwCjEgBkE4O7eTa/v7+/fz8/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/f38/f389vHsmVsgikMBj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAjEYBkEwN7ePY/v7+/fz7/v7+/f39//// + /v7+/////////////v7+/v7+/f38/v//28ayxqSAy6uKxKF6vJNssoReqHNEmVwlkEwKhjwAgTQAgDQA + hDoAiEAAikMAiUIAiEEAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAA + iEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiUIAgjYAx6WD/////Pv6 + /v7+/v7+/////v7+//////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/////v7+/v7+/Pv7////1r2khz4A + j0sCjkkAjUkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + kEwBhjwAsYFR/////fz7/v79/v7+/v7+/////////////////v7+/v7+/v39/v7+4M27za+O0bWW0LOU + z7OV0LOZ0bac07mg1ryk2MCo2cKr2cKs2MGq2MCp18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co + 18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co + 18Co18Co2MCo1r+n2MGq+vf0/v39/v79/v7+/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/v7+/Pv6/v39rHpIhz4Aj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0oBiUEA3May/////Pv6/////f39/v7+/v7+//////// + /v7+/////v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7//v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz7/v7+6d3RjUkJjUgBj0oAjkkA + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBikIAnWIn + +PXx/fz8/f39///+/v7+/////////////////v7+/////////v39/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz8/fz7+/n3+/n3+/n3+/n3+/n3+/n3 + +/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3/Pr4/fz7/fz8 + /fz8/v7+/////v7+/////v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v7+/Pv7////wZx2hDsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAkE0ChjwAxKF8/////Pv6/v7+/v7+/v7+/v7+/////v7+/////v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v///v7+/////v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/f39/f389/Ltm14iiUIAj0oBjkkAjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkoAjUgCkE0N7OHW/v7+/f38 + /v7+/v7+/////v7+//////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/f79/f39+vj20LSYzrCSz7GUzrGTz7GTz7GTz7GTz7GTz7GTz7GT + z7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTzrGTzrGTza+S0LSY+vj1/v7+/v79/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v7//Pz7 + ////2cKriD8Aj0sCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAkEwChz8Ar35O/v7+/fz8/v7+/v7+/v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/v7+/fz7////yaiIgDMAhz0A + hTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhjsAhTsAhDsAhz4A + fS0AtIdb/f38/Pz8///+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+/v7+/fz7/v//rn1Khz0Aj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sCiEAA2MGq/////Pz7/v///v7+/v7+ + /v7+/////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v7+/f38/v797+bdkU8PjUkDkU4Fj0wDkEwDkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0D + kE0DkE0DkE0DkE0DkEwDkE0DkU4FjEcFmVwe9/Pu/v7+/v38/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7//fz7/v7+69/UjkoL + jUgBj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + j0sCikMAm18j+PXw/f39/f39/v7+/v7+/////v7+//////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/fz7////tIZYhj0AkEwCjkgAjkkAj0oAjkkAjkkA + jkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAj0oAjkkAjkkAj0sChj0A0rec/////Pv7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/////Pv6////xKF9hTsAkEwCjkkAjkkAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTsAw596/////Pz7/v7+/v7+/v7+//////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/fz7////3sq3 + iUIAjkoCj0kAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkA + jkkAj0wBiD8AqHM+/fz7/Pz7/v7+/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v3+/v39/fz8+PXxnWIpiUIAj0sBjkkA + jkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkoAjUgBjkoK + 6t7S/v7+/fz8/v7+/v7+/v7+/v7+//////////////////////////////////////////////////// + /////////v7+/v7+/f39/f38+vj1oGgviUEAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkgCjEYH5tjJ/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /v7+/v7+/Pv6////2cStiEAAj0oCjkkAjkkAj0kAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkgAkEwChz4ArHpH/f38/fz8/v7+/v7+/v7+//////////////////////// + /////////////////////////////////v7+/v7+/v7+/v7+/fz8////y6yNhTwAkEwCjkkAjkkAj0kA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTwAvZRs//// + /Pv7/////v7+/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/v7+/Pv7/v7+r4FQhz0AkEwBjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkgAj0kAkEsChz4A17+n/////Pz7 + /v7+/v7+/v7+/v7+/////////////////////////////////////////////////////v7+/v7+/f38 + /v798enfklISjEYBj0oBjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAj0oBi0QAl1gb9O/p/fz8/v38/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/fz8 + /v7+7ePakE0NjEcBj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAj0sCikMBml0i9/Pu/f39/f39/v7+/v7+//////////////////////////////////// + /////////////v7+/v7+/v7+/v7+/Pz7////toldhj0AkEwCjkkAjkkAj0oAj0kAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjUkAjkkAj0sChTwA0baa/////Pv7/v7+/v7+/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+//7+/Pv6////x6SDhTsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjUgAjkkAkEwChTwAwZx1/////Pv7//7+/f39/v7+ + /v7+/////////////////////////////////////v7+/////v39/v7+/fz7////4M67ikICj0oCjkoA + jkgAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0sBiD8A + pnA8/Pv6/fz7/v7+/v7+/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v79/fz8+fbznmMq + iEEAj0sBj0kAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + jkoAjUkCjUgI59rM/////fz8//7+/f39/////v7+/////////////////////////////////////v7+ + /v7+/v39/f38+vj1oWgwiUEAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0kAjkkAj0kAjkkCi0QG5dXF/////fz7/v7//v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////v7+/v///Pz7////3cm1iEAAjkoCjkkAjUgAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChz8AqndD/fz7/fz7/v7+/v7+/v7+//////////// + /////////////////////v7+/v7+/v79/v7+/Pz7////y6uMhTwAkEwCjkkAjkkAjkoAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTsAu5Fn/////Pz7/v7//v7+ + //7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7+/Pz7////s4RVhjwAkEwCjkgA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkkAj0wChz4A + 1bui/////Pz7/v7+/f3+/v7+/v7+/////////////////////v7+/////f39/v7+/f38/v398Ojfk1ES + jUYBj0oBjkkAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + j0oBi0UBllYa8+zl/fz9/v38/v7+/v7+/v////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7//f38/v797+XckE0OjEYAj0oAjUgAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAj0sBi0QBmVoe9vHr/f39/f39///+/f39/////v7+//////////////// + /////v7+/v7+/v7+/Pz7////tYldhj0AkEwCjkkAjkkAj0oAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0oAjUkAjkkAj0wChTsA0bWZ/////Pv6/v7+/v7+/v7+//7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/v7+/Pz7////yKiGhDoAkEwDjkkAjkkAj0oAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkgAjkkAkEwChjwAv5dw/////Pv6 + /v7+/v7+/v7+/////////////////v7+/v7+/v7+///+/fz7////4dC/ikMDj0oCjkkAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wCiD8ApW85/Pv5/fz7 + /v79/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/v39 + /fz8+/j1oGYtiUEAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAjkoAjkkCjEcG5tjK/////fv7//7+/v7+/v7+//7+/////////////v79/v7+/f39/fz8 + +/r4o2oziUAAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0oAjkkCi0UF5NTE/////fz8/v7+/v7+/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////v7+/v7+/fz7////3su4iUEBj0sCjkkAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEwChz8AqHRA/f38/fz7/f39/v7+/v7+ + /v///////v7+/v7+/v7+/v/+/Pv7////za+RhTwAkEwCjkkAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkE0ChjwAu5Jo/////Pz7/v7+/v7+/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/fz7////tIdZ + hjwAkEwCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + jkkAj0wChjwA0rec/////Pv6/v7+/f7+//7+/v7+/////v7+/v7+/f38/v7+8erilFITjEYBj0oBjkkA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0UAl1YZ + 8+3m/f39/f39/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/fz8/v398Offk1ISjEcBj0oAjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBi0QBl1ga9O7n/f38/f39/v7+/v7+/////v7+/v7+ + /v7+/Pv6////t4tfhjwAkEwCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0oAjkkAjkkAkEwChz4A0LWZ/////Pz7/v7//v7+/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+/v7+/Pv7////zK2Ohj0AkEwDjkkA + jkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkgAkEwChjwA + u5Nq/////Pv6/v7+/v7+/v7+/v7+/v7+/Pz7////4dC+ikMCj0oCjkkAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wCiEAAp3E7/Pv5/fz7/v79/v7//v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/////v7+/fz7+/j2o2sziUEAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkAjkkAjkoAjkkCjEcG5dbH/////Pz7/v7+/v7+/v7+/v39/fz8+/n3pG00iUEA + j0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0kA + jkkCikQE49PC/v7//fz8/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////4c+9iUICj0oCj0kAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBiEAAp3E7/Pv5/fz8 + /v79/v7+/v7+/Pv6////zK+Qhj0AkEwCjkkAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkgAkE0ChTwAuY9j/////Pv6/v7+/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/v7+/v7+ + /Pv6////t4xghjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAjkkAkEwChj4Az7OX/////Pv7/v7+/f38/f398erilFQVi0YBj0oBjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0UBlVUW8+zl/v39/f39 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/f38/v7+8+zllFQVi0UBj0oAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0sBi0UAlVUX8uzk/v39/fz8/Pz7//// + t4xhhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oA + jkgAjkkAj0wChjwA0LOX/////fz7/////v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v///fv7////zrGU + hjwAj0wCjkkAjUkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChTwAuI5k////+/r5////4tHAiUIDjkoCj0oAjUkAjkoAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0wCiUAApW84/Pv6/f38/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v///v7+/f38+/r4pG02iEAAj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0kAjkoCikMD4tC//v79+vj1pG02hz8AkEsBjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkkCi0QF49TD + /////fz8//7//v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/////fz8////49TEi0UFjkkCj0oA + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBiEAA + oWkx////zrGThTsAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkgAkEwChj0AupBl/////fz8/v///v7+/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/v/+/fz8////uZBkhj0AkE0CjkgAjUkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAjkkAjkkAj0sAiEAAwZ12m18iikIAj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjEYBlVYX8uzl/v79/v39/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/f39/v398+zmllYXjEYBj0oBjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAjkkAjkkAikMAjEYAjkkA + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjkgAjkkAkEwC + hj0Az7SX/////fz7//7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//7+ + /fz7////0bWZhz0Aj0wCjkkAjUgAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0oBjkoAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAjkkAjkkAj0wCiEAApW86/Pv5/fz8/v7+//7+/v7+//7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+//7+/v7+/fz8/fz7p3I+iD8Aj0wCjkkAjkkAjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAjkkAj0kCikQF49PD/////Pz8//7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+//7+/fz8////5dbH + jEYHjkoCj0oAjkkAj0kAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oA + jkkAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChj0AuI1i/////fv8/v/+/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/v7+/v///fz7////vJRqhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oBjEUBlFQW8uri/v7+/f39/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/f39/f399O7ol1kci0QBj0sB + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjUgAjkkAj0wChj0AzbCT//// + /Pz8/v7//v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/Pz7////07mfhj0Aj0wCjkkAjUgAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjkkAjkkAkEwCiEAAomw0/Pr4/f39/v7+/v7+/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////v7+/v7+/fz8/fz8qHNAhz8AkEwCjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkkCiUIC4dC+/////fz7/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz8////5tjJi0YFjUgCj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAkEwChTwA + t4tf/////fz7/v7+/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/v7+/fz7////vZZuhTsAkE0CjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0oBi0YBlFMT8eri/v7+/f38/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v39/f399vHs + mVseikQAkEsBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkgAjkkAkEwChj0Aza+Q/////Pv6/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/Pz7////1Luhhz4AkEwCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + j0sAiEAAo2w0/Pr4/fz8/f39/v7+/v7+/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/v7+/v79/fz7/f38qndDhz8AkEsB + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAjkkAjkkAjkkBi0QD4c+9/////Pz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/fz7/v7+6NvNjUkIjUgBj0kAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwBhTsAt4xf/////Pv6 + /v7+/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/Pv6////wZt2hTsAkEwBjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0oAi0UAlFIT8eri/v39/fz8/v7+/f39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/v7+ + /f38/fz89vHtmVsfikMAj0sAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEsChDoAy6uN/////Pv6/v7+/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/f3+/v7+/Pv7////1r6lhj0Aj0oBjkkAjUkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sAiEAAoWkx + +/n3/fz8/f39/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v39/fz7/v7+ + rXtJhj0AkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oBjkkAj0oBjkoCiEEA4M68/////fz7/v7+/v39/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////f39/v7+/fz7/v7+69/SjkgJi0UAjkgAjUcAjUgAjUgAjUgAjUgAjUgAjUgAjUgA + jUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUcAjUcAjkoAhDkAtYlb/////Pz6/f7+/v7+/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/v39/v7+/Pz7////xKF9jEcSlVQW + k1IUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUk1IUlFMV + kU8TmVoj8ejg/v39/fz7/v7//f39/v////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v///f39/f38/Pv67+bd8Ofe8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off + 8Off8Off8Off8Off8Off8Off8Off8Off7uXd9O7o/////f39/v7+/v7+/v7+//7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v////7+/v7+/v7+/v7+//////////////////////// + /////////////////////////////////////////////////////////////////////////v39/v7+ + ///+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////7+/v////// + /////v7+/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v79/////////v7+/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/////v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAEAAAACAAABABgAAAAAAAAgAwAAAAAAAAAAAAAA + AAAAAAAA//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v79/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////9/Lt9/Pu + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Pt/v7+/v79/v7+/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v79/v799/Ls9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Pt9/Lt/v39pm80omkso2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2svnmMrzrGR/////fz7//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/fz8//// + 1bygnGAqo2svo2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2svnWEruY9i/fz8wJpwkUwEiUIAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0UAiUAAlVQT7uTZ + /v39/fz8/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f38/v7+9O3nmFkViD8Ai0UAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAikMAi0MA3sq1/v7+/fz8wJhviD8AkU0Fj0sCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkU0EiD8AuItb/////f38/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7////vZNniD8AkU0EkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCj0sCkU4EiUAAuY9h + /////Pn4/v7+9e/pnF8ei0UAj0oBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0MA3cix/////fz7//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////Pz7////49G/j0oHjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEYBl1cU8urj/v39/fv6+vf0//// + 1LqfikIAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoAj0sBikIAoWcq9vLt/fz7/v39/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /f38+/n3p3A0iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEAzrCQ/////fz7/v7+/fz7/fz7+/n3q3hBiUAAkEsC + j0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiEAAyKaB/////fz7/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/Pz7////z7GRiUEAkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oBikIApnA0/fz7/v39/v7+/////////f38////6NrMkEwHjUgBjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoA + jUgBlFIO7uTa/////f38//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz8/v398OfellYTjEYBj0oBj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgB + jUYA4tG+/////fz7/////v7+/v7+/////fz8////wJpvhz4Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsCiD8As4RR/fz7 + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v38////uY9ghz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8Au5Fk/////f38/v7+ + /v7+/////////v7+/fz8/v389e/pnmMmi0MBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCi0QB3Mav/////fz8/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/Pz8////4tG+jUgCjkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0UAmFkW9e/o/v7+/f38//////////////////// + /////fv6////17+miUEAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikMAoWgp+vfz/v7+/v79//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f39/fz8+/j2pW4z + iUAAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAj0oBiUEA0ria/////fz8/v7+/v7+/////////////////v7+/v39/v39/v/+ + sH9LiEAAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoAj0sCiD4Ax6Z//////fv6/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////7+/v7//fz8////yqqHiD8Aj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0sCiUIAqXU7/fz7/v39/v39/////////////////////////////v7+/fz7/v7+6t3PkU4NjkgCjkoB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0oAjUcBkU0N7ODU/////f39/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v///f38/v7+7+bdlVMOjEYBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkBjUgB5dXG//// + /f38/////v7+//////////////////////////////7//fz7////w551iD4AkEwCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sB + hz4Ar35J/v39/fz8/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v39/fz7////tolYhz4Aj0sDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBiEAAvZZq/////f37/v7+/v7+//////// + /////////////////////v7+/////f39/v7+9vHsnmMki0QAj0sAj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oCi0QB2cKo//// + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz8//// + 3su3jUcDjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBmlsZ9O7n/v79/f38//////////////////////////////// + /////////v7+/v7+/fz6////2cGpikIBj0oDjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBi0MAn2Qn+PTw/v79/f38/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f39/fz8+vf0omosiUEAj0oBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sCiD8A0reZ/////fz7/////v7+//////////////////////////////////////////// + /v7+/fz7/Pv6sH9KiD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0Aw594/////fz7//7///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/Pz7////yqmGiUAAj0sCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUEAq3hA + /Pz6/f38/v39//7+/////////////////////////////////////////////v7+/////f37////7OLW + k1EOjUcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoBjUcCklAO6t7Q/v7+/fz7/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////f39//7/7ePYk1ENjUcAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUcBj0sG6NrL/////fz8/v///v7+ + /////////////////////////////////////////////////v7+/v7+/fz7////xqR+hz4Aj0sCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEsBiUEAsIFN/v79/v39/v3+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v79 + /Pz7/v7+s4RQiEAAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBhz4AwZty/////fz8/v7///7+//////////////////// + /////////////////////////////////////v7//v39/v399/PuoWgrikIAj0oBj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iEAA176j/////fz7//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/fz8////2sSti0QBjkoC + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0kAj0sBi0QAm14d9vHr/v79/f39//////////////////////////////////////////// + ///////////////////////+/////fz8////3MawikMBj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCi0QBnGAi9O7n/v38 + /fz8/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////f39/v39+fbzoGcoikIAj0sBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iUEA1buf/////fz8/v7+/v7+//////////////////////////////////////////////////////// + /////////v7+/f79/fz8/f39soNPhz4Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz0AwZxz/////f38/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/Pz7////x6V/iD8AkEwBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wBiEAArHpD/v7+/v38/v7+ + /////////////////////////////////////////////////////////////////////////////v7+ + /f38/v7+69/SlFIPjUcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkgBkEwG6dvN/////fz8//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////Pz7/v397ODUlFMRjUcCj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBkE0I6NvM//7+/fz8/////v7+//////////// + /////////////////////////////////////////////////////////////////////fz7////yKaB + hz0AkEwDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sCiUEArXtG/Pv5/fz7/v39/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v///f38////sH9K + hz8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0wChz8AwJlv/////f38/v7+/v7+//////////////////////////////// + /////////////////////////////////////////////v7+/v7+/f39/f389/Puomgti0MAj0sCj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0sDiD8A1r2i/////fz7/////v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/f38////18ClikMAj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0oBi0QAnmIj9vHs/v39/v39//////////////////////////////////////////////////////// + /////////////////////////////////////v7+/fz8////3sq0jEYAjkoCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAi0UA + nWAf9vHs/v7+/v79//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/f38/f389vHsn2Qli0QBj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCikIA2MGo//// + /fz7/////v7+//////////////////////////////////////////////////////////////////// + /////////////////////////////fz8////tYhWhz4Aj0wBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiD8AwJpw/v7+/fz7 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////+/////fz7////xKF6hz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wBiEAAsH9L/////f38/v79/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////fz7/v797uXblVQVjEYBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkCjkkG59jJ/////f38/////v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v///f38//// + 6t3PkU4IjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgBkU4J6t7Q/v7+/fz8//////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz7////yqqGiEAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUEAqnY9/Pr4/v39/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////+/v39/fz7/fz7r39KiUEAj0sCj0kA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEwChz0Aw553/////fz8/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f39/v79+/n3omor + ikEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkoAj0sCiEAA0raY/////fz6/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7//fz7////1ryiiUIAj0oCjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikMBnmMm + +PTw/v39/f39//////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz7////38u2i0QEjkoDjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0kAj0sBjEUAmVwb9e/p/v7+/f38//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////f38/v7+9vHsnF8eikMAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA2MCl/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/fz8/v7+t4pZiD8AkEwCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz4A + vpVq/////fz7/v/+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /Pz7////wJpwhz0Aj0wDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAAr39J/v7+/v39/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////f39////8urillcTjEYAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUgCjkgE5dXE/////fz7 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////fz8////59nLkEsHjUgB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoBjEcBk1AN7OLW/v///fz7//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/Pz7////za6OiEAAj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBiUEAqnY8/f38/v39/v3+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////f39/fz8/fz7rHlCiUEAkEsBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iD8AyKaB/////fz7/v///v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v79 + /fz7+fXypW0xiUEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEA0bWX/////fz8/////v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/fz7////z7OTikIAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBikMAn2Yl+vf0/v7+/f39 + //7///////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/////fz7////4tG+jEYC + jkoBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oBjEUCl1gY8+vk/v79/fz7//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////f38////7eLWlFEOjEcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkoBi0QA28av/////fz7/v7//v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v79/fz7/v7+uY5fiEAAj0wCjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEsCiD8Auo9h/////fz8/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v79/fz8+/r4rHlE + iUEAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBiD8As4RR/f39/v39/v7+///+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7//f38/v7+7+fdl1cUjEYBjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBjkgB + 4tC+/////f38/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v///v7+/Pz7////wp51hz4Aj0sCj0kAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjUcBk1EN7+Xb/////f39/////v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////fz8////z7GRhz4Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAp3E4/Pv5/v38/v39 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+//7+/fz7////3ciwjEUAjkkBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0Ax6WA//// + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/f39/fz7+vj1qHI4iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAkEsCiD8Az7GR/////f38/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/////fv7////7OHUlVQWjEYBj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikMAomks+PPv/v39/v79//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/fz7 + ////5NPBj0oGjkgBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBjEYAl1gU8uri/v7+/fz8//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7//f38////8uvj + n2QoiUEAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCi0QB38u2/////fz7/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f38////u5Jlhz0A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBiD8AupBi/////fz8/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////fz8/v7/+PTvq3dAiD8AkEwBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0wCiEAAt4pa/v7+/f38/v79/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/fz8/v398erimVwcjEUBj0sBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkBjUgE4M66/////fz7/////v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/////fz8////+vj1rHpFiD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjUcBlVQR + 7+bd/v7+/f39//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/fz7////0LSUiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikIAo2sv + +/n4/v39/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v39////+/n2tYhXhz4Aj0wDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0AyquI/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/fz8/fz7qHM5iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4Ay6uJ/////fz7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+///+/v7+/fz7////+vf0 + rXtIikIAj0sDj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sBikIAo2wx+PXx/f38/f38/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////Pz7////4tLAjkgHjUgCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBllYS8Oje/v7+/f38//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////fv7////9/Puq3hChz4Aj0sBj0oAj0kA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkoBi0UA4M24/////fz7//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/Pz6 + ////vpZqiD4Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AuItc/////fz8/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////7+/////v7+/fz7////7+XaomoxiEAAkEwDj0oAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwC + hz4AtolZ/////fz8/v3+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////f39/v7+9vHsnGAdi0MA + j0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkCjEYB38y3/////fz8/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /v///v39/Pz7////38y3mFkciUAAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEYDllYX7+bc/v7+/f38 + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/fz7////1LqeiUEBj0sDjkoAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoA + j0sBikIApGww+vj1/v39/f39/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////////Pv6////////y6yJ + j0sEikMAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiD8Azq+O/////fz7//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v39/fz7/Pr5qnY9iD8Aj0wCj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AzK2M + /////Pz7/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/////v7+/fz7////8+zks4NTiUEAjUkAkEsCjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAkEsBiUEApnA0/fv6/v39/f79/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v///f38////5tjJkUwIjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYBlFIP7uTa/v7+/f38//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////v7+/fz7////////3Mixm14hiEAAj0sCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjkkCjkkG4c+7/////fz7/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //7+/v7+/fz7////v5lviD8Aj0sDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUAAtIZV/////v39/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+///+/v39 + /fz8////+PTvvpZujUgDikQAkEwDj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4AuI1d//// + /fz7/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////7+/f38/f38 + 9O7nm10ci0QAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA3ciy/////fz8/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////v7+/fz7////////28aunmImhz4A + jkkAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYAl1gW8+vk///+/f38/////v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7//Pz7////1LqdikIAj0sB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oBikMAoWgp+fby/f39/f39//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/////v7+/fz7/v//////8OjdtolbjEUAikMAkEwCj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAzrGR/////fz7/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v39/fz7/f38rn1HiD8Aj0sCj0kAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0sBiD8AyKiE/////fz8/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////f38////////+/j2y62LlVQSiD8AjkoBj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0oBiUEApW4z+vj1/v39/v39//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/Pz7/v7+6d3Qkk8LjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUcBkk8J7eTZ + /v7+/f38/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////v7+/f38/f39/////Pr4 + 2sSsomktiD8AjEcAkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjkkAjkgD + 49PB/////fz8/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f38////w552hz4Aj0wBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD4As4VS/////f39/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/////f38/v7+////////38y3qXU+iUEAikMAkEsCj0sB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4AvJNm/////fz7/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////f39/f389vHrnGAgikMAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBjEYA3Mex/////fz7/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////////v39/fz8/v7/////////4tC9rntHjUgCiUIAkEsCj0sBj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oBjEUBmVsZ9O7m/v7+/f38//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/Pz7//// + 2MCnikMAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0oAi0MAnmMj+ffz/v39/f38//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/v39/fv6//// + /////fz82MGnrXtIjUYAiUEAjkkAkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sCikEA0bWX/////fz7/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f39////r35IiUAAj0wC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiEAAxKF6/////fz8/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////v7+/f38/fz6/v7/////////8uvj0bWXomktjEUAiD4A + j0oBkEsBj0oAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsC + iUEAqHQ7+/j2/fz8/v39/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////fz7/v7+6NvNkEwIjUgBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jUgBkk8K7ODV/////fz7/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////v7+/v7+/v7+/v39/v39/////////f3859jKvZVqnF8hiD8Ai0QAj0oAkEwEj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgBjkkE5dXE/////fz7 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/Pz7////w551iD4Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAsIBL//// + /f38/v7+///+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////v7+/fz8/fz6//////// + ////////69/T0baYqndBjkgAiUAAi0QAkEwDj0sBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AvZRo/////fz7/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f39+vbzn2UlikMAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCi0QA2sOq/////fz7/v7//v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/v79/v38/v38/f38/v///////////v398Ojf0bWXsYBNlVUShz0A + ikIAjkkAkEwCj0sCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oBi0UBmlsc8eri/v39/fz8/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////Pz7////28avi0MBj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikMAnmIj+PXx/v39/f38///+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v79/f38 + /fz7/fz6/v7+/////////////////Pr55dXDyaqHr31Lkk8HikMAiUEAjUYAkEwDj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAj0oBiUEA1Lqd/////fv6//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/f79/fz7/f38 + sYJOiEAAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AxKB5/////fz8/v///v7+//////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////v7+/v39 + /v39/v39/v39/v39/v39/v38/v38/fz8/fz8/f38/f38/v38/v38/v39////////////////////9vDq + 6d3P0baYtIZVn2Unkk8HhjsAiUAAjkgAj0sBkEsCj0sBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUAArHpD/f38 + /v39/v39/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////fz8////7OHWkk8KjUcAjkoA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjUgBkU4J6NrM/////fz8//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////9O3l49PB1Lqew552soNRnmIhikIAikIAiUEAikIA + jUgAkE0EkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoBjUgCj0wK59nK/////fz7/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////xqR+hz4AkEwCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iUEArnxG/v7+/f38/f39/v7+//////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz6+PXv+fXy+fXy+fXy+fbz9vDr8Oje8Oje6dzO + 5NXE2MCmzbCPv5dusIBMn2UnmlwZk1EJjEUAhz0AiUEAjUcAkEwEkE0EkU0EkU0EkEwDj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sBkE0Ehz4Av5ht/v7+/fz7/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////+/f39/f389/PuoGYnikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAA1r2i//// + /Pz7/////v7+//////////////////////////////////////////////////////////////////// + /////////////////fz7////4M25l1YeoGYnn2MknmMkn2QmmVsYkUwEkU0FhTkAgzcAhDgAhDkAhDkA + hToAhToAhz0AiEAAikIAi0UAi0QAikIAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAikIAhz0Am1wc9O7o/v7+/f39/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+//7//f38////2sSsi0QAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0UBnWEg9fDr/v39/f39//////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////6NrMtIZYupFjuY9huo9huY9gupBjvJNnvJNnvpdsv5dtv5dtv5dsvpdsvpdsvpdsvpZrvpZr + vpVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvpdsuI1g + 4M24/////fz8/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////+ + /v7+/fz7////tIZUiD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8AwZxy/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz7/v397ePY + llURjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkgBkEsF6NrN/v7+/fz8/////v7+//////////////////////////// + /////////////////////////////////////////////////v7+/////v79/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v39/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/Pv7////yaiEiD8Aj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEsCiUEArXpD/v7//f39/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////f39/v38+vf0oWgrikIAj0sBj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oB + ikMA1bqf/////fz7/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz7////3MiyjEYBjkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0QAmlwa9O7n/v39 + /f38/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/f39////tIdViD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD4Avpds/////f38/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /fz8/v7+7+XblFIOjEYBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgBjkoD5dbF/v7//fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v38/v39 + /v38/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/////////v////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz8////y6uI + iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBiUEAq3c//fz7/v38/f79//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f39/v39/Pv6pGwuikEAj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sCikIA1Lqd/////fz7/v///v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7++fbzqXY9nmImoGYnoGUnoGUnoGUnoGUnoGUnoGUnoGUn + oGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUn + oGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnn2UnoGUnnmMm4c+8//// + /fz8//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz7////4tC9jUgEjkkCjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0QA + mVsZ8+zl/v38/fz8//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/fz7////xaJ8hToAi0QAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAi0QAhDoAqHI6+/n3/v39/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz8////uIxciUAAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8AvpZs/////fz7 + /v7+//7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz7/v7+ + 7ODUk1EPjUcCkEwDj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sCkEsCjkkDkk4L6t7Q/////fz7//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////f39/v7+8enhllYQjUYAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkkE49PB/////fz8/v///v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/f38////soJOiEAAj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0wBiD8Awp10/////fz8/v7+/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /Pz7////za+OikEAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sDiEAAp3I3/Pr4/f38/v39/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/Pz7////2cOri0QAj0oBjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0UAnWAf + 9vHs/v79/fz8//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/f39/f38+/n3pm8z + iUEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0oCikIA0LOU/////fz8/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/f38/f38+PPvoGcqi0QBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCiUEA1r2i/////fz7/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////fz7////4tC9jkkDjkkBjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAi0YAl1gT8+3l/v7+/f39//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////x6V/iD8AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiEAArXtF/f38/f38/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/fz8////vJJmiD4AkEwCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiEAA + upFj/////fz8/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f38/v7+6t7RklALjUcB + jkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0kAjkgBkU0I6NrM/////f38/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7//fz8/v798eril1kVi0QAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgBj0oG5NPC/////fz7 + /////v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v79/f38/f38soNQiUEAj0sCj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsC + hz4AwZty/////fz8/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////+/v///f37////0bWXiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApm8z/fz6/f38/f39//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////fz7////3MexikMAj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0MBnGEj9vLt/v39/f38 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////f39 + /f38/Pr4qHM6iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oCiUEAz7KS/////fz7/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v39/f38+PXxomotikIAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUIA1r2i/////fz7/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz7////49PBjUgC + jkkBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjEYBllYU8ejf/v79/f38/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz7////y6yJ + hz8Aj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAkEsBiD8ArXpD/fz7/v38/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/fz8////vJNmhz8Aj0sBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEsChz4At4ta/////fz8/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////f39////7ePZlFIPjEYAj0oAj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjUgCkEwL6dzO/////fz7//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////fz8/v398+vkmFoXi0UAj0oBj0kAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkkBjUcD + 38y3/////fz7/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/fz7/f38tYdVhz8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AwZtx//// + /fz8/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/fz8////0reaikIAjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApGww+/j2/v38/f39 + /////v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/fz6////3su1jEUEjkoCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0QAnGAf9fDq/v79/f39//7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v79/v39/f39q3c+iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AzKyK/////Pz7/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v/+/f39/v79 + +fb0o2otikMAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCikIA07eb/////fz7/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/////fz8 + /v7/59fIjkoEjUkBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0YBl1cV7+bc/f39/fz7/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+//7//fv7////yqmGiD8AkEwCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sBiEAAqXU7/Pv6/f38/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz8////v5dtiD4A + kEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBiD8Atotb/////fz7/v7+///+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////7+/fz8/v7+7uTalVQUjUcCj0oBj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkCj0oK + 5tbG/////fz8/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////f39/v399O7om10ci0UBj0oBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAj0oBjUcB4M25/////f38/v7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////f38////tolXiD8AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD4Avpdr/////fz7/v39/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////fz8////07ibiUAAkEsBjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCikIAomos + +PTw/fz8/f39/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////3ciyikMAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAi0UAmlsY9O7n/v7+/v39/v////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f39/f38/v79q3c/iUAAj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz4AyaiF/////fz7//// + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f39/f38+fXxomoviUEA + kEwCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0sCiUAA07mc/////fz7//////7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////fz8////6NvMkEwHjUgBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUcAk1EL7uTa/////f39//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////f38////y6uJhz8Aj0sBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sB + iUAAq3dA/Pr4/fz7/f39/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v///fz7 + ////wpxziD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8AtIZU/v39/fz7/v39/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////f38/v7+7uPYlFMPjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgBj0oC5dbG/////fz7 + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////+/fz8/v399/LunGAfi0MA + j0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0kBjEUC3cm0/////fz7/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v79/f38/v7+tYhYiD8AkEsCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz0AvpZr/////fz8/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v///fz7////17+likMAj0oBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + j0oBikMAomgq+vf0/f39/v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////Pz7////4M24 + i0UAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0sBi0QBm10f8+3m/f38/fz7/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////7+/v79/f39////rnxGiUAAkEsCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiEAAyKWB + /////Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v79/f38+PTxomkti0MAj0sBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEwBiUEA0rea/////fz7/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7//fz7////6t3QkE0IjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjUcBkk8M69/T/v7+/fz7//// + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/fz7////y6yKhz4Aj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUAAqnU9/Pz7 + /v38/v39/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/v7+/fz7////wZtyhz8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiEAAsoJP/////f38/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////f38/v7+8enhllYSjUcBj0oBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgCj0sJ5dbG//7+/Pz7/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////f38/v79 + +PTwnGAfi0QAj0sAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkoCi0QA28St/////Pz7/v7+/v7+//////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/f38 + ////uI1diD8AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBhz8AvpZq/////fz7/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/fz7////2sSsi0UAj0oB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0kAj0sCikMAnmQl9/Lt/f38/f39/////v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/fz7////4tC+jUcCjkkBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0oBi0QAmVsZ9O3m/v79/f38/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/f38////sYFMiD8Aj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + kEwChz4AxaJ8/////fz7/v7+//////////////////////////////////////////////////////// + ///////////////////////////////////+/f39/f39+/n3pGwwikEAj0sBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sCiUAA + 07mb/////Pz7/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////fz7/v7+7OHUkU0HjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjUcBk1AO6+DU + /v7+/Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////v7+/v///f38////za+OiD8Aj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAq3c+/fz7/fz8/f79//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/fz8////xqR/iD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz4AsIBM/v79/fz7/v7+//// + //////////////////////////////////////////////////////////////////////////////7/ + /fz8/v7+8erillYSjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBjkkF5tfH/////fz8/////v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////f39/f39+PXwn2Qli0MAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA2cKp/////fz8/v7///////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz8////uI1fiD8A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0wDhz4AvpVq/////Pz7/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz8//// + 2sWtikEAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oBi0MAnWAg9vDq/f38/f38/v7+//////////////////////////// + /////////////////////////////////////////////fz7////4tC9jUcAjkkBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jEQAm10b9O/p/v7+/f38//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v39/v7+soJPiUAAkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sDhz8Aw552/////fz7/v7+//7+//////////////////////////////////////// + /////////////////////v7+/f39/f38/Pr4pW8yikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUAA07ib/////fz7 + /v7//v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////f38/v7+7OHWklAMjUcBj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jUgAklAK6dzO/////f38/v////////////////////////////////////////////////////////// + /v7+/////fz7////za+OiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCiEAAqXY9+/n3/fz7/v39///+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////fz8////yamFiD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0wCiEAArXpD/Pv6 + /fz6/v39/v7+/////////////////////////////////////////////////////////f39/v7+8eng + lVMPjEYAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkBkEwF5tjJ/////f38/v///v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/f39/v39+fXyomkrikMAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sDikMC17+l/////fz7/////v7+ + /////////////////////////////////////////////v7+/v7+/f38////uI1diEAAkEsDjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEwBiD8Au5Jl/////fz8/v7+//7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////fz8////3ciyi0QAjkoCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBi0QAnmIi9vLt/v7+/v7+//////////////////// + /////////////////////////v7+/////fz8////4tC9jkgEjkkBj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBmFoX8uvj + /v39/fz8/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/fz8//// + tYdViD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0wDhz4AwZtx/////fz7/v7+/v7+//////////////////////////// + /////////////v7+/v39/Pr4pG0vikMAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiEAAz7KT/////fz7/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////fz7/v7+7uTalVQQjEYBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oBjUgCkU4N59jI/////fz8/////v7+/////////////////////////////v7+/v7+/fz8 + ////za6NiUAAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUEApm8z/Pv5/v39/f39//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////yaiDhz4Aj0sCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sB + iUAAqnY9/fz8/f38/v7+/////////////////////////////v7+/////f38/v398enhllcVi0UBj0oB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkgBjkkD5NTD/////fz8/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////f39/v39+/j2oWgqikIAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUIA07mb//// + /fz7/v7+/////////////////////////////v7+/f38////t4tahz8AkEsBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiD8A + upFj/////fz8/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/fz7////4M67jEYDjkkCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBi0QBm18g8+3l/v39/f38/v7+/v7+ + /////////////v7+/v7+/Pz7////5NTEjkkEjUkCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjEUAllcT8+vk/v39/f38//// + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/fz8////uIxciD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz0Avpdr/////fz7//////////////////////// + /f39/fz8+/n3p3E4iUEAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBiUAA0LSV/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////fz8/v7+8Ojf + llYSjEcBj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkgBkEwI5dfG/////fz7/v7+/////////////v7+/fz7////0LSWiEAA + kEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBikIAp3A1/Pr5/v39/v39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/fz7////za2Mhz8AkEsCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0sBiEEArHlC+/r4/fz8/v39/v7+/v7+/v7+/f38/v398+zkmVoZi0UBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkBjUcA49LA/////f38/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v38/f39+/n3pG0yikEAj0sCjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iD8A0ria/////fz7//////7+/v7+/fz7////u5Jlhz0Aj0wDjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8Au5Jk/////f38 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/////f38////38y3jUcAjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEUBmlsb8eng/v79 + /f38/////f38////5NTDjkkEjkkBjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBl1gV8uvk/v79/f38//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/fz8////t4xchz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wCiD4Au5Jm/////fz7/f39/fz8+/n3 + qXQ6iUIAj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8A0LOU/////fz8/////v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7/v7+8engllYWjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkgD5NTD/////Pr5////0bSXiEAAj0sDjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0kAj0sCikIAp3E3/Pr4/v39/v39/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////fz8////0baX + iUAAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAj0sBiUAApnE2+fbz/f388uvjl1cTi0UAj0oAj0kAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkgE5NTD + /////fz8/v////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v3+/v39/Pv5p3I4iUEAkEsBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkoAj0sCiUAAz7GT////upFjiD8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8Au5Fj/////fz8/v7///7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////fz7////4tG/jUcDjkkCjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAi0MA + nWEh1r2ikE0KjkgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEYBl1gX8urj/v7+/f38///+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v/+/Pz7////u5FkiD8AkEwBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAkU4FjUcAj0oA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sCiEAA0bWW/////fz7/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////f38/v7+8+zlmFkZjEYBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgAj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikIA + qHI4/Pv5/v39/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz6////0LOTiD8AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kCjUcF49G//////f38//// + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v39+/r3qnY+ + iUEAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sChz4Au5Nm/v///fz8/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////f38////5tfIjkkIjkkCj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0oAjEYAl1cU8+zl/v7+/v39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/fz7////v5huhz4Aj0sCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + kEsChz8Az7KS/////fz7/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v79/v7+9O7pmlwZi0UAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsCikEApnA3+vf0/fz7 + /v39/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////fz7////07ibiD8AkEsDj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkoBjEUA38y3/////fz7//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v39 + /fz7+/n3q3hBiUEAkEsCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0wChz4AuY1f/////f38/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////fz8////59jIj0oD + jkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oBjEYCl1YV7+Xb/v39/fz7/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/f37////vpdthz0Aj0wCj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBhz4Ay6uJ + /////fz8//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/fz8/v399O/om18hi0QBj0oBj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApW40+vf0/v39/v39/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////f38////1r2iiUAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkCjEYE4M24/////fz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/v79/v38/v39rnxIiEAAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAkEwChz8At4tZ/v7+/fz7/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/fz7 + /v7+6NrMkU0LjkgCjkoBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYB + llYW7+Xb/v7+/f38/////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////7//fz7////wJpwhz0A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiD8Aza6M/////fz7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////f39/v799vLtnWIki0QAj0sBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBiUEApG0x+vf0/f38/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7////1r6ii0MAj0oCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkoAj0kCjEYF38y3/////fz7/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/f38/fz8rXtEiUAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0wChz8AuIxc/v7+/fz7/v39/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////fz8////697Skk8MjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkoAjUYAllYR8Ofe/v/+ + /v39/v////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/fv6 + ////xKF6iD4AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wCiD8Ay6uJ/////v38//////7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v79/v7++fXyn2Qli0MA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0kAj0sCiUEApW8z+fby/fz7/f39/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////fz8////2cKqikQAjkoCj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkoAjkkBjEYA4M24/////fz8/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7/Pv6sH9LiD8AkEsCj0kAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz4At4pa + /////f38//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38////7OLWkk4KjUgBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEUBl1cV7uXb/v39/Pz8/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////fz8////xaJ8iD8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAAzK2L/////Pz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v39/fz7 + 9/LtomgsikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiUIApGww/Pn3/f38/f39//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////fz7////3Mewi0QAj0oB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkB + jUcE3sq2/////Pz7/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/f38////tolXiD8Aj0wBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8AuIxb/////fz8/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/fz7/v7+7eLWlVMSjUcCj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUYBllYT8Ojf/v7+/f39/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////fz8////yKaBhz4AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBhz8AyaiF/////fz7/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v39/v39+PTxomktikIAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oBikMAomgq+fXy/v39/f39//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/fz7//// + 3Mixi0MBjkoCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0MA3ciy//// + /fz8/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/fz7/v79tIdVhz4AkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBhz8AtIdV/////f37/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////f38////7+belVUUjEYBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkoAjUYBlFMO7uPZ/v7+/fz8//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/fz7////y6yJiD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEwBhz4AyKaD/////fz7/v///v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v38+ff0pW4yikEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikIAoWgq + +vf1/f38/f39//7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////fz7////4M24jEUFj0kCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkCjEYB3ciy/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v39/fz7/v39 + tolZhz4AkU4FkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwD + kEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwD + kEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwCkU0EiEAAtIVS/////f39/v7+///+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v///v39////8OfdlVQQhDoAiD8A + iD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4A + iD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4A + iD4AiD4AiD4AiD8AhToAkU4K7+Xc/v7+/f38/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////7+/////v7+////38y4y6yNzrGQzrCQzrCQzrCQzrCQ + zrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQ + zrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrGS + yqqM38u2/////v79/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/v7+/v79//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v79/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8 + /fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8 + /fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/f38/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxCalibration.Designer.cs b/LFP_Manager/Forms/fmxCalibration.Designer.cs new file mode 100644 index 0000000..b9945c1 --- /dev/null +++ b/LFP_Manager/Forms/fmxCalibration.Designer.cs @@ -0,0 +1,162 @@ +namespace LFP_Manager.Forms +{ + partial class fmxCalibration + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fmxCalibration)); + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.btnClose = new DevExpress.XtraEditors.SimpleButton(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.tmrDisplay = new System.Windows.Forms.Timer(this.components); + this.ucCalibrationConfig = new LFP_Manager.Controls.ucCalibration(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.btnClose); + this.layoutControl1.Controls.Add(this.ucCalibrationConfig); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1265, 291, 250, 350); + this.layoutControl1.Root = this.layoutControlGroup1; + this.layoutControl1.Size = new System.Drawing.Size(814, 444); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // btnClose + // + this.btnClose.Location = new System.Drawing.Point(714, 403); + this.btnClose.Name = "btnClose"; + this.btnClose.Size = new System.Drawing.Size(96, 37); + this.btnClose.StyleController = this.layoutControl1; + this.btnClose.TabIndex = 5; + this.btnClose.Text = "Close"; + this.btnClose.Click += new System.EventHandler(this.btnClose_Click); + // + // layoutControlGroup1 + // + this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1"; + this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup1.GroupBordersVisible = false; + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem1, + this.layoutControlItem2, + this.emptySpaceItem1}); + this.layoutControlGroup1.Name = "Root"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2); + this.layoutControlGroup1.Size = new System.Drawing.Size(814, 444); + this.layoutControlGroup1.TextVisible = false; + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.btnClose; + this.layoutControlItem2.CustomizationFormText = "layoutControlItem2"; + this.layoutControlItem2.Location = new System.Drawing.Point(710, 399); + this.layoutControlItem2.MinSize = new System.Drawing.Size(93, 26); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(100, 41); + this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // emptySpaceItem1 + // + this.emptySpaceItem1.AllowHotTrack = false; + this.emptySpaceItem1.CustomizationFormText = "emptySpaceItem1"; + this.emptySpaceItem1.Location = new System.Drawing.Point(0, 399); + this.emptySpaceItem1.Name = "emptySpaceItem1"; + this.emptySpaceItem1.Size = new System.Drawing.Size(710, 41); + this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0); + // + // tmrDisplay + // + this.tmrDisplay.Interval = 500; + this.tmrDisplay.Tick += new System.EventHandler(this.tmrDisplay_Tick); + // + // ucCalibrationConfig + // + this.ucCalibrationConfig.Location = new System.Drawing.Point(4, 4); + this.ucCalibrationConfig.Name = "ucCalibrationConfig"; + this.ucCalibrationConfig.Size = new System.Drawing.Size(806, 395); + this.ucCalibrationConfig.TabIndex = 4; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.ucCalibrationConfig; + this.layoutControlItem1.CustomizationFormText = "layoutControlItem1"; + this.layoutControlItem1.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem1.MinSize = new System.Drawing.Size(104, 24); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(810, 399); + this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // fmxCalibration + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(814, 444); + this.Controls.Add(this.layoutControl1); + this.IconOptions.Icon = ((System.Drawing.Icon)(resources.GetObject("fmxCalibration.IconOptions.Icon"))); + this.Name = "fmxCalibration"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Calibration"; + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraEditors.SimpleButton btnClose; + private Controls.ucCalibration ucCalibrationConfig; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private System.Windows.Forms.Timer tmrDisplay; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxCalibration.cs b/LFP_Manager/Forms/fmxCalibration.cs new file mode 100644 index 0000000..4c04946 --- /dev/null +++ b/LFP_Manager/Forms/fmxCalibration.cs @@ -0,0 +1,119 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Linq; +using System.Windows.Forms; +using DevExpress.XtraEditors; + +using LFP_Manager.DataStructure; +using LFP_Manager.Function; +using LFP_Manager.Controls; +using static DevExpress.XtraPrinting.Export.Pdf.PdfImageCache; + +namespace LFP_Manager.Forms +{ + public delegate void CalibUpdateEvent(object sendor); + public delegate void CalibCmdEvent(int sId, int mode, int index, int flag, + ref CsDeviceData.DeviceModuleData.DeviceParamData aParam, + ref CsDeviceData.DeviceModuleData.DeviceCalibration aCalib); + + public partial class fmxCalibration : DevExpress.XtraEditors.XtraForm + { + #region VARIABLES + + int SystemId = 0; + CsDeviceData.DeviceModuleData ModuleData; + CsDeviceData.DeviceModuleData.DeviceParamData Param; + CsDeviceData.DeviceModuleData.DeviceCalibration Calib; + + public event CalibUpdateEvent OnUpdate = null; + public event CalibCmdEvent OnCommand = null; + + #endregion + + #region CONSTRUCTORS + + public fmxCalibration(int sId, CommConfig aConfig, + CsDeviceData.DeviceModuleData.DeviceParamData aParam, + CsDeviceData.DeviceModuleData.DeviceCalibration aCalib) + { + InitializeComponent(); + + InitComponent(); + + ucCalibrationConfig.UpdateConfig(aConfig); + + SystemId = sId; + Param = aParam; + Calib = aCalib; + + tmrDisplay.Enabled = true; + } + + public void InitComponent() + { + // Cell Voltage Calibration + ucCalibrationConfig.OnCommand += OnCmdEvent; + } + + #endregion + + #region COMMAND EVENT + + private void OnCmdEvent(int mode, int index, int flag, + ref CsDeviceData.DeviceModuleData.DeviceParamData aParam, + ref CsDeviceData.DeviceModuleData.DeviceCalibration aCalib) + { + OnCommand?.Invoke(SystemId, mode, index, flag, ref aParam, ref aCalib); + } + + #endregion + + #region BUTTON EVENT + private void btnClose_Click(object sender, EventArgs e) + { + Close(); + } + #endregion + + #region TIMER EVENT + + private void tmrDisplay_Tick(object sender, EventArgs e) + { + + DisplayValue(); + if (OnUpdate != null) + { + OnUpdate(this); + } + } + + #endregion + + #region DISPLAY DATA + + private void DisplayValue() + { + // Cell Voltage Parameter + ucCalibrationConfig.UpdateData(ModuleData, Calib); + } + + #endregion + + #region PUBLIC FUCTIONS + + public void UpdateData(CsDeviceData.DeviceModuleData.DeviceParamData aParam, + CsDeviceData.DeviceModuleData.DeviceCalibration aCalib, + CsDeviceData.DeviceModuleData mData) + { + ModuleData = mData; + Param = aParam; + Calib = aCalib; + } + + #endregion + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxCalibration.resx b/LFP_Manager/Forms/fmxCalibration.resx new file mode 100644 index 0000000..4464ab1 --- /dev/null +++ b/LFP_Manager/Forms/fmxCalibration.resx @@ -0,0 +1,4574 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + AAABAAQAICAAAAEAGACoDAAARgAAADAwAAABABgAqBwAAO4MAACAgAAAAQAYACjIAACWKQAAAAAAAAEA + GAAoIAMAvvEAACgAAAAgAAAAQAAAAAEAGAAAAAAAgAwAAAAAAAAAAAAAAAAAAAAAAAD///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////+/v7+/v7+/v7+/v7+/v7+/v7+/v7/ + ///+/v7////////////////////////////////////////////////////////+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7////+/v7+/v3+/v3+/v3+/v7+/f3////////+/v7///////////////////// + ///////////////////////////+/v7////+/v7+/f3+/v7+/v3+/v3+/v3+/v7////7+ff///////// + ///////////////+/v3+/v7////+/v7////////////////////////////////////////+/v7////+ + /v7+/v7////////////////////////7+PbCnHejazCkbTKkbDKlbjSdYTDLrIr////9/Pz+/v7///// + ///////////////////////////////////////////+/v79/fz////BnHSeYjClbjSkbDKkbDOjazDc + x7L49PGkbDKEOACKQwCJQQCHPgCNRwTt49n+/v39/Pz+/v7+/v7///////////////////////////// + ///+/v7+/v79/Pv//v7j0sKHPgCJQACJQQCLRACCNgCufkv////////q3tKOSQePSgSPSwKRTQSHPgCt + e0f////9/Pv+/v7////////////////////////////////+/v7////9/f39/Pv9/PuiaS6JQQCQTQOP + SwKNSAOUUxLz7ef+/f37+Pb////AmnKGOwCQTAKOSQCPSwKHPwDaxa7////8+/r+/v7+/v7///////// + ///////////+/v7///7+/v77+vj////OsJGGPACQTAKOSQCQTAKGPADNr4/////7+ff9/Pv9/fz38u6Z + WhuLQwCPSgGPSgGLRQGcXyH59vP9/fz9/fz////+/v7////////+/v7+/v7////+/v77+vn////u5NqS + Tw+OSAKOSQCPSwKJQACiai/8+vn9/Pz9/f3+///9/Pv////WvqWHPQCQTAOOSQCQTQOGPADDn3j////8 + +/r+/v7////+/v7+/v7+/v79/fz8+/r9/f3////u49mdYSiKQwCPSwGOSQCPSwKKQgDi0L/////9/Pv+ + /v7//v7+/v79/Pz///+seUOIPwCQTAKOSQCOSQKNSAbq39P+/v39/Pz+/v7////////////////////+ + /v7SuJ6WVRiLRQCRTwaQTASSUAeHPgC4jV7////9/Pv+/v7////+/v7+/v79/Pz+/v7r39SOSQeOSgKO + SQCQSwKHPwCsekT+/v/9/Pz+/v78+/r49PDy6uPi0cDDn3yZXB9/MACEOACHPgCGOwCFPACEOgCTURDz + 7Ob9/fz9/f3////+/v7////////+/v78+/r////CnneGPACQTAKOSQCQTAKHPgDYwan////9/Pz38u7o + 2szgzbvTuZ/MrY/St5zeyrTcyLLcx7Hcx7HdybPVvKfl1cX////9/fz+/v7+/v7////////+/v7////9 + /f39/Pz59fObXiCKQwCPSgGPSgGLRAGaXB349PH9/fz+/v/////////////////28e3AmnrEn3rDn3nE + oXu+lnbcxrD////9/Pv+/v7////////////////////+/v7+/v79/Pv////bxa+HPgCPSwKOSQCQTAKG + PADAmnH////8+/r9/fz9/Pv7+ff9/Purd0F/MACGOwCFOgCEOQCEOADj0sH+/fz9/Pz+/v7+/v7///// + ///////////////////+/v79/Pz///+ufkqHPgCQTAKOSQCOSgKNRwPp3M/+/v79/Pv8+/r////YwaqH + PgCSTwaQTAOSTwaHPgDDn3n////9/Pv+/v7////////////////////////////+/v7+/v79/Pz+/v7t + 4tiNSAaNSAKOSQCQTAKJQQCqd0D+/v79/Pv9/fz49fKbXyCMRQGPSwGPSgGLRAGYWRn38+/9/fz9/f3/ + ///+/v7///////////////////////////////7+/v79/Pv////EoHqFOwCQTQOOSQCQTQOHPwDUu6H/ + ///////Dn3iGPQCQTQOOSQCQTAOGPQDWvaT////9/Pv+/v7+/v7///////////////////////////// + ///+/v7////9/f39/Pv59vScYCOLRQGPSwKPSgGMRQGWVhf7+ffu5duNSAaOSQKOSQCQTAKJQQCqd0D+ + /v79+/r+/v7////////////////////////////////////////////+/v7+/v78+/r////cx7GJQgCQ + TAOOSQCQTAKFOwC/mXKzhVSGPACQTAKOSQCPSgKOSQfq3dH////9/Pv+/v7+/v7///////////////// + ///////////////////////////////+/v79/Pv///+wgU6HPgCQSwKOSQCPSgGMRgCMRwCPSgCOSQCQ + TAKGPADAmnH////9/Pr+/v7////////////////////////////////////////////////////+/v7+ + /v79/Pz+/v3u5NuPSwmNRwGOSQCPSgCPSwGPSgGPSQCPSgGLRACYWRn38u79/fz9/fz///7+/v7///// + ///////////////////////////////////////////////////+/v79/Pv////HpoKFOwCQTQOOSQCP + SgCPSgCOSQCQTAOGPQDVvaP////9/Pv+/v7+/v7///////////////////////////////////////// + ///////////////+/v7////9/f39/fz7+fefZSiIQACOSQCNRwCNRwCOSQCGPQCrd0H+///9/fz+/v7/ + ///////////////////////////////////////////////////////////////////+/v7+/v79/Pv/ + ///fzLmSTxWXWBWWVhSWVhSWVhSWVRrq3dH////9/Pz+/v7+/v7///////////////////////////// + ///////////////////////////////////////////+/v7+/v7////38+728e328e328e328Oz49fD/ + ///+/v7+/v7///////////////////////////////////////////////////////////////////// + ///////+/v7////////+/v3////////////////////////+/v3////////+/v7///////////////// + ///////////////////////////////////////////////////////////+/v7////+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7////+/v7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACgAAAAwAAAAYAAAAAEAGAAAAAAAgBwAAAAAAAAAAAAAAAAAAAAAAAD///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7////+/v7+/v7///////// + ///////////////////////////////////////////////////////////////////////////////+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////// + /////////v7+/v7///////////////////////////////////////////////////////////////// + ///////////////////////////+/v7////////+/v7///////////////////////////////////// + ///38u38+vn8+vj8+vj8+vj8+vj8+vj8+vj7+ff////+/v3+/v7+/v7+/v7///////////////////// + ///////////////////////////////////////////////////////////////+/v7+/v7+/v7////7 + +ff8+vj8+vj8+vj8+vj8+vj8+vj7+ff59fK7kmmbXh+cXyCcXyCcXyCcXyCbXyCdYSGWVR3Fon3////9 + /Pz+/v7///////////////////////////////////////////////////////////////////////// + ///////+/v7+/v79/f39/fz///+1iFqXVx2cYCGcXyCcXyCcXyCcXyCbXiCcYCPn2Mv7+fencTqDOACM + RgCLRACLRACLRACLRACKQwCMRQLq3tL////9/Pz+/v7///////////////////////////////////// + ///////////////////////////////////////////+/v79/Pz////Zw6uGOwCMRQCLRACLRACLRACL + QwCNRwCCNQC4jmH////////r39SNRwWOSgOOSgGPSgGPSgGPSgGQTAOIPwCpdD3////9/fz9/f3////+ + /v7////////////////////////////////////////////////////////////////+/v7+/v79/f3+ + /f359vOZWxyLRACQSwKPSgGPSgGPSgGPSgGMRQKXWBn49PD+/fz8+vn////BnHWFOgCQTAGOSQCPSgCP + SgCOSQCPTAKFOwDVvaT////9/Pv+/v7///////////////////////////////////////////////// + ///////////////////////+/v79/Pv////BnXaEOgCQTAKOSQCPSgCPSgCOSQCPSwGGOwDVvKL////8 + +/r9/Pz9/f349fKZXB2KQwCPSgGOSQCOSQCOSQCPSgGLRAGXWBj38+/+/f39/f3+/v7+/v7///////// + /////////////////////////////////////////////////v7+/v79/fz+/v7r39SMRwWNSAGOSQCO + SQCOSgCOSQCPSwGHPgCpdT7////9/Pz+/f3+/v79/Pv////YwquGPACPSwGOSQCPSgCPSgCOSQCQTAGF + OgC+l23////9/fz+/v7////+/v7////////////////////////////////////////////////+/v7+ + ///9/f39/Pv///+qdkGHPQCPSwGOSQCPSgCPSgCOSQCOSAGLRALp3dH////9/Pv+/v7+/v7+/f39/fz/ + //+se0aHPgCQTAKOSQCPSgCPSgCOSQCOSQKLRALn2s3//v79/Pz+/v7///////////////////////// + ///////////////////+/v7+/v7////+/v78+vn////Rt5qGPACQSwKOSQCPSgCPSgCOSQCQTAKFOwC/ + mXL////9/Pz+/v7////////+/v79/fz///7s4deNSAeNSAGOSQCOSQCOSQCOSQCQSwKHPgCnczv+/v79 + /Pz9/f3+/v7+/v7////////////////////////////+/v7+/v7////////9/f38+/r////j08KNSQiN + RgGOSgCOSQCOSQCOSQCPSgCLRACYWhv48/D+/f39/f3+/v7+/v7+/v7////+/v79/Pz////Dn3qFOgCQ + TAGOSQCPSgCPSgCOSQCQSwGGPADSuJ3////9/Pz+/v7////////////////////////+/v7+/v7///// + ///+/v79/Pv////////cx7KPTA2LRQCPSgCOSQCPSgCPSgCOSQCPSwGGPADWvqb////9/Pz+/v7///// + ///////////+/v79/f3+/f359/SbXiCKQgCPSgGOSQCOSQCOSQCPSgCLRQCVVBT18Oz+/f39/fz+/v7+ + /v7////+/v7+/v7+/v7+/v7+/f39/Pz9/Pv////////49PC/mHSKQgCMRQCPSgCOSQCPSgCPSgCOSQCQ + TAKGPQCreEL////9/Pz9/f3+/v7+/v7////////////////+/v79/Pv////axK6FPACPSwKOSQCPSgCP + SgCOSQCQTAKEOQC8lGn////9/Pv+/v7////////////////////////////////////49fLQs5ibXyWH + PgCPSwKQTQOQSwKQTAOQTAKQTAKPSwOOSgOMRQPq3tP////9/Pz+/v7////////////////////+/v7/ + ///+/v39/Pz///+vf0uHPgCQSwGOSQCOSgCPSgCOSQCOSQGLRAHm18n////9/fz+/v7////+/v36+Pb5 + 9fLz7ejo2s3RtpuwgFCNRwN9LQCCNQCHPgCGOwCFOwCGOwCGOwCGOwCFOwCGPAB/MADCnnj////9/Pz+ + /v7////+/v7////////////////////+/v7+/v79/fz///7v5t6PSgiNRwGOSQCPSgCOSQCOSQCPSwGJ + QAClbjX+/f39/f39/f3//v769/XfzbjZw67QtJrEoX67kmq6kGa/mXLDn3rEoHzEoHvEoHvEoHvEoHvE + oHvEoHvDoHvDnnvEoH369/X+/v79/f3+/v7+/v7////////////////////////////////+/v79/Pv/ + ///GpICFOgCQTAKOSQCPSgCPSgCOSQCQTAKGPADQtJf////9/Pz+/v7///////////////////////// + ///////////////////////////////////////////////////////+/v7+//////////////////// + ///////////////////+/v7+/v79/f3+/f36+PadYiSKQwCPSgCOSQCOSQCOSQCPSgGMRgGUVBP07uj+ + /v39/fz+/v7+/v7+/v3+/f39/fz9/Pv7+vj+/f3cyLSXVyGcYCKcXyCcXyCcXyCcXyCdYSKUUxzDn3z9 + /Pz9/Pz9/f3////+/v7////////////////////////////////////////+/v79/Pz////cx7KHPwCP + SgGOSQCPSgCPSgCOSQCQTAKGPAC5kGP////9/Pv+/v7//v7+/v7+/v7+/v79/f39/fz7+feeYyaGPACL + RQCLRACLRACLRACLRACIQACQTAnw59/+/v79/f3+/v7+/v7///////////////////////////////// + ///////+/v7///79/f39/Pv///+xglCGPACQSwGOSQCPSgCOSQCOSQCOSQGKQgDk1MT////9/fz+/v7/ + ///////+/v79/Pz////HpoOFOgCQTAKOSgCPSgGPSgGOSgGQTAKFOwDPs5b////9/Pv+/v7///////// + ///////////////////////////////////////////+/v/+/v79/Pz+/v7w59+PSgiMRgGOSgCPSgCP + SgCOSQCPSwGIQACiajD+/f39/f39/f3///7+/v79/fz+/v7w6OCPSgmNRwGOSQCOSQCOSQCOSQCPSwKI + PwCiaS79/fz9/fz9/f3+/v7+/v7///////////////////////////////////////////////////7/ + ///+/v79/Pv////Ip4WFOgCQTAKOSQCPSgCPSgCOSQCQTAKEOQDOsZP////9/Pv+/v7+/v79/Pv///+x + glGFOwCQTAKOSQCPSgCPSgCOSQCOSgKIQADj08L////9/Pz+/v7///////////////////////////// + ///////////////////////////////+/v7+/v79/f39/f38+vmeZCeJQQCPSwGOSQCOSQCOSQCPSgGM + RQGRTw7z7ef+/v39/f39/Pz////fzLiHPQCPSgGOSQCPSgCPSgCOSQCQTAGFOwC4jF/////9/fz+/v7+ + /v7+/v7////////////////////////////////////////////////////////////////+/v79/fz/ + ///fzLqHPgCOSgGOSQCPSgCPSgCOSQCQTAGFPAC3jF7////9/Pz+/f38+vifZCiJQQCPSwGOSQCOSQCP + SgCOSgGLRQGTURDz7ef+/v39/f3+/v7///////////////////////////////////////////////// + ///////////////////+/v7////+/v79/Pv///+zhVWFOwCQTAKOSQCPSgCPSgCOSQCOSgKJQQDi0cH+ + /v7////JqYeFOgCQTAKOSQCPSgCPSgCOSQCQTAKEOgDNsJH////9/Pv+/v7////+/v7///////////// + ///////////////////////////////////////////////////////+/v7+/v79/fz+/v3w6eGRTQyN + RwGOSQCOSQCOSQCOSQCPSwKJQQChaC7////x6eKRTgyNRgGPSgCPSgCOSQCOSQCPSwGJQQCiajD8+/r9 + /fz9/f3+/v7+/v7///////////////////////////////////////////////////////////////// + ///////////////+/v79/Pz////LrIuFPACQTAGOSQCPSgCPSgCOSQCQSwGFOwDPspW5j2SGPACQSwGO + SQCPSgCPSgCOSQCOSgGJQgDj0sL////9/Pz+/v7///////////////////////////////////////// + ///////////////////////////////////////////+/v7+/v79/f39/fz9/PygZyuJQACPSwGOSQCO + SQCOSQCOSQCOSACOSACNSACOSQCOSQCPSgCPSgCOSQCQTAKFOwC3i13////9/Pv+/v7////+/v7///// + //////////////////////////////////////////////////////////////////////////////// + ///+/v79/Pv////hz72JQACPSwKOSQCPSgCPSgCOSQCPSgCOSQCOSQCPSgCOSQCOSQCOSQCOSQCMRgGS + UA/y6+X+/v39/fz+/v7+/v7///////////////////////////////////////////////////////// + ///////////////////////////////+/v7////+/v79/fz///+1iVuGPACQSwGOSQCPSgCPSgCOSQCP + SgCPSgCOSQCPSgCPSgCOSQCQTAGFOgDNrpD////9/Pz+/v7///////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7+/v79/f3+ + /v3y6+SSUA6MRQGOSgCOSQCOSQCPSgCPSgCPSgCPSgCOSQCOSQCPSwGIQAChaS78+/r9/Pz9/f3+/v7+ + /v7///////////////////////////////////////////////////////////////////////////// + ///////////////////////////+/v79/Pv////NsJGFOwCQSwGOSQCPSgCPSgCPSgCPSgCOSQCPSgCO + SQCOSQGJQQDi0cD////9/Pv+/v7///////////////////////////////////////////////////// + ///////////////////////////////////////////////////////+/v7+/v79/f39/Pz8+/qiai+J + QACRTQSPSwKQSwKQSwKQSwKQSwKPSwKRTgSGPAC2iVr////9/Pv+/f3////+/v7///////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////+/v79/Pv////j08KGPQCHPQCHPgCIPgCIPgCIPgCIPgCHPwCFOgCRTgvy6uP+/f39 + /fz+/v7+/v7///////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////+/v7////+/v79/f3////JqIeufFOzhVezhFaz + hFazhFayhFazhVete1TWvqb////9/fz+/v7///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/v7+/v7+/v3////////////////////////////////////////+/v3+/v7+/v7+/v7///////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////+/v7+/f3+/f3+/fz+/fz+/fz+/fz+/fz+/fz+ + /f3+/f3///////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAgAAAAAABAAABABgAAAAAAADIAAAAAAAAAAAAAAAA + AAAAAAAA//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////v7+/v7+//////////////////////////////////////////////////////////// + /////////////////////////////////////////fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v39/v7+/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////v7+/////v7+/f38/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/////v7+ + /f39//////////////////////////////////////////////////////////////////////////// + ////////////////////////2MCn3Maw3Maw3Maw3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew + 3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Maw3Mex2cOs8uvk/v7+/f39/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+/f39////4tHA2sSs3Mex3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew + 3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mex3Mew3Mex2cKr9vHtqXQ9ikIAiUEAiUEAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAiUEAikMAgzgAq3hH/v39 + /fz8/v79/v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7+/fz8////49PCiUIBiUEAiUEA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAiUIAiUEAi0MAgzkA + nmMq+vj1/v39sYJUhz4AkU0Ej0oBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0oBj0oBkEwDhz0A1buh/////fz7/v7+/v7+/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v39/Pz8/Pr5pGw1iEAAkE0Dj0oBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sBj0sDjEYG49LC////////7OLWkU4PjEYBj0oBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAj0sBikQAmFod9fDq/v39/v39/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////7+/v7+/v7+/v7+/Pv6////za+QhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChjsAuo9l////+/n4+ff1//// + x6aFhDsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAkEwChTwAv5dw/////Pz7/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/f38/v798evik1IV + i0UBj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkoA + j0oBi0QBlVQX8+zl/f39/fz8/fz8/fz8+vbzoGYuiEAAj0sBjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjkoAjkkAjUkBjEgG6NvN/////fz8/v7+/v7+/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////7+/f7+/v7+/fz7////topehjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sChTwA0LWY/////Pv7/v7+/v///Pz7////3sq3iEABjkoC + jkkAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEsC + hz8Ap3I//fz7/fz8/v79/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v39/v///Pz7////3867iEAAjkoCjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEsChz8ApnE5/fz8/Pz7 + /v7+/v7+/v7+/v7+/Pv7////tIZYhjwAkEwBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0sChTwA0rec/////Pz7/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/v79/fz8 + +/r4oWgwiEAAj0sBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + j0kAjkkAjkoAjkkBikQF5dbG/////fz7/v7+/v7+/v7+/v7+/fz8/v7+8OffkU8QjEYBj0oAjkkAjkoA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAj0oBikMAllcb9O/p + /v39/f38/v7+/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/v7+/Pz7////yquLhTsAj0wCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChToAu5Nq/////Pz7//7+/v7+/v7+/v7+/v7+ + ///+/Pz7////y6yNhTsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAkEwBhTsAu5Rr/////Pz7/v7+/v7+/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz8/v7+7+bckU4PjEYBjkkBjkkA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjUkAj0oBi0QBllcb + 9e/p/v39/f38/v7+/v7+/////////v7+/v7+/v79/fz8+vj1oWgwiUEAj0sBjkgAjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkCi0QF5NXG/////fz8/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+//7+/f39 + /v7+/fz7////tIdZhjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkAj0sChj0A0rec/////Pz7/v7+/v7+/////v7+/v7+/////v7+/v7+/Pz7//// + 38y4ikIDj0oCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0sBhz8Ap3I8/Pv5/fz8/v39/v79/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////v7+/v7+/Pz7////3sm2iUIBj0oBjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEsCiD8AqHM+/fz7/Pz8/v7+/v7+/v7+ + /v7+/////////v7+/v7+/v7+/v7+/Pv7////topehTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAkEsChjwA0bWa/////Pv6/v7+/f39/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/f39/fz8+vj2n2UriUEA + j0sBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkoA + jkgBjEYG5tjJ/v7+/f37/v7+/v7+/////////////////////////v7+/v7+/f39/v398uriklETi0YB + j0oAjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oB + i0UAlVYZ8+3m/f79/f38/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/v7+/Pv6////yKeFhTsAkEwCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChjwAvpZv/////Pz7/v/+/v7+/v7+/v7+//////////////// + /v7+/v7+/v7+/v7+/Pz7////za6QhTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTwAuZBm/////Pv6/v7+/v7+/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v79/v7+/fz7/v7+7ePYkU4QjEcBjkkBjkkAj0oAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0QBmFof9e/p/f39/v39 + /v7+/v7+/////////////////////////////////v7+/v7+/v7+/fz8+/n3o2s1iUEAkEsBjkkAjkkA + jkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAjkkCikQD5NPD + /////Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v79/Pv7/v/+ + sIFShjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAj0sChj0A1Lqg/////Pz7/v/+/v7+/////v7+/////////////////////////v7+/////v7+ + /v7+/fz7////4tHBikMEjkkCjkoAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0sBiEAApW43/Pv5/fz7/v39/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/////Pv6////2sawiD8Aj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEsChz8AqnhE/v79/Pz7/v7+/v7+/v7+/v7+//////// + /////////////////////////v7+/v7+/v7+/v7//fz7////uI1hhj0AkEwCjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0wChj0AzrCT/////Pv6/v7+ + /f39/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/v7+/f38/f389vLtm18jikMAj0oBjkkAjkkA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkoAjUgBjUgH6NzO + /v7+/fz8/v/+/v7+/////////////////////////////////////////////////v7+/v7+/f38/v39 + 8uvjlFUWi0UBj0oBjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0oAjkkAj0oBjEYBlFMW8enh/v79/fz7/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7//v7+//7+/f39 + /Pv6////t4thhjwAj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAkEwChTsAwJp0/////fz6/v7+/v7+/v7+/v7+//////////////////////////// + /////////////v7+/////v7+/v7//Pv7////zrGUhjwAj0wCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwChjwAt4xg/////Pv7/v7+/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7//v3+/Pr6////0bWYhj0Aj0sCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkkAjkkAj0sBi0MAmVsg9vHs/v39/f39/v7+/v7+//// + /////////////////////////////////////////////////v7+/v7+/v7+/v7+/f38/Pr4pW85iD8A + kEsCjUkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + jkoCikIC4tHA/////Pv7/v7+/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7++/r5////38y4i0UHjUgBjkoA + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0wC + hz4A1r6m/////Pz7/v7+/v7+/////v7+//////////////////////////////////////////////// + /////////v7+/v7+/fz8////49LCjEYFjkkCjkoAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBiEAAomoy+/n2/fz7/v39/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v7+/v7+ + /v7++/r5////5NTCj0wQi0UAj0oAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAkEwChz8ArHpI/v7+/fz7/f79/v7+/v7+/v7+//////////////////// + /////////////////////////////////////v7+/////v7+/v7+/Pz7////upBnhTwAkEwCjUgAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0wChToAyqyM + /////Pv6/v7+/v7+/////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/////v7+/v7+/v7+/f39/Pr5////4c+9kE0SikQAj0sBjkkAjkkAj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjUgCjkoJ6d3R/v7+/f38/v7+ + /v7+/////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v39/f399O3nl1gci0UBj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oAjkkAj0oAi0UBk1ET8Ofe/v39/fz7/v7+/v7+/////v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////////v7+//7+/v7+/Pv6/f38////1LuijkkLi0QA + j0sBjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChjwAwp14/////Pv6/v7//v7+/////v7+//////////////////////////////////////// + /////////////////////////////////v7+/v7+/Pv6////0baahj4AkEwCjkkAjkkAj0oAj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwBhTwAtYlc/////Pv6/v7+ + /v7+/v7+//////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/////v7+/v7+/v7+ + /v79+/v5////+/n1wJp1iEEAjUYAj0wBjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBikMAnWAn9/Lu/fz7/f39/v7+/v7+/v7+//////////// + /////////////////////////////////////////////////////////////v7+/v7+/v7+/v7+/Pz7 + /Pv5p3I9iD4AkEwCjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAj0oCiUEA3826/////Pv6/v7+/v7+/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/////////v7+/v7+/v79/Pv6/f3+////6dzPpW89hjwAj0oBj0oBjkkAjkkAj0oAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAj0sChz4A2MKq//// + /Pv6/v7+/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz7////5dbGi0UGjkkCjkoAjkkAj0kAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBiEAAoGct+vj1/fz7/v39/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/v7+/////////v7+/v7+/f39/fz7/fz8////+vj0xaOCjkkJhz8A + j0sBj0oAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAkEwChz0Arn1L/////Pv6/v7+/v7+/v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/////v39/v/+/Pv6////vZZuhjsA + kEwDjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUgA + j0wChDoAyKiI/////Pv6/v7+/v7+/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+///////////+/v7+/v7+/v79/Pv6 + /f38////////28ayn2cyhTwAjEcAj0sCjkkAj0oAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjUcCjkoK69/U/v7//fz7/v7+/v7+/////v7+ + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/f39/f399fDrl1kci0UBj0sBjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkoAjEUAkU4P7+bc/v79/fz7/v7+/v7+/////v7+//////// + /////////////////////////////////////////////////////////v7+/////v7+/v7+/////v7+ + /////v7+/v7+/v7+/fz8/Pv6/v7+////////4M68qnhHiD8AiUEAj0sCj0oAjkkAjkkAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkE0DhjwA + xaJ//////Pv7/////v7+/v7+/v7+//////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/Pv6////07qghz4Aj0wDjkkAjkkA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwBhjwAsoRU + /v///Pv6/v7+/v7+/v7+/////////////////////////////v7+/////v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+///+/v7+/v7+/////v7+/v7+/v79/fz8/Pv6/fz8////////+/n32sSvqnZHikIAhz8AjkoA + j0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjUkAj0sCikMAnmMp+PXx/f38/f39/v7+/v7+//////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/Pz7/f38qXVBiEAAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAj0oBiD8A3cm0/////Pv6/////f39/v7+/v7+//////////////////// + /////////////////////////////v7+/////v7+/v7+/v7+/v39/fz7/Pv6/fz7/f7+//////////// + 7OHWyaiHn2UviD8Ahz4AjkkAj0sCjkkAjkkAjkoAjkoAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wDiEAA28Wv/////Pz7/v/+/v7+ + /////v7+//////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////v7+/v7+/fz7/v//6NrNjkkJjkkCj0kAjkkAjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBiUIAn2Ur+fb0/fz7/f39 + /v7+/v7+/////////////////////////v7+/v7+/v7+/v7+/f38/fv6/fz7/fz6/Pv6/fz8/fz8/v7/ + /////////////////Pz66dzPza6Qq3dGkE0Mhj0AikMAj0sCj0sCj0oAjkkAjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + kEwChz4AsIJS/v7//Pv7/v7+/v7+/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v7+/////Pv6 + ////v5lzhTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkgAkEwBhDoAxqSC/////Pv6/v7+/v79/v7+/v7+/////////////////v7+/////v7+/v7+ + /////////////////////////////v788+3l5NTE07icuY5moWgvj0sIhz4AiUIAj0oAkE0FkU0Dj0sC + kEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsB + kEsBkEsBkEsBkEsBkEsBkEsBj0sBkEwCjEgBkE4O7eTa/v7+/fz8/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/f38/f389vHsmVsgikMBj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAjEYBkEwN7ePY/v7+/fz7/v7+/f39//// + /v7+/////////////v7+/v7+/f38/v//28ayxqSAy6uKxKF6vJNssoReqHNEmVwlkEwKhjwAgTQAgDQA + hDoAiEAAikMAiUIAiEEAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAA + iEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiUIAgjYAx6WD/////Pv6 + /v7+/v7+/////v7+//////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/////v7+/v7+/Pv7////1r2khz4A + j0sCjkkAjUkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + kEwBhjwAsYFR/////fz7/v79/v7+/v7+/////////////////v7+/v7+/v39/v7+4M27za+O0bWW0LOU + z7OV0LOZ0bac07mg1ryk2MCo2cKr2cKs2MGq2MCp18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co + 18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co + 18Co18Co2MCo1r+n2MGq+vf0/v39/v79/v7+/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/v7+/Pv6/v39rHpIhz4Aj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0oBiUEA3May/////Pv6/////f39/v7+/v7+//////// + /v7+/////v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7//v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz7/v7+6d3RjUkJjUgBj0oAjkkA + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBikIAnWIn + +PXx/fz8/f39///+/v7+/////////////////v7+/////////v39/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz8/fz7+/n3+/n3+/n3+/n3+/n3+/n3 + +/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3/Pr4/fz7/fz8 + /fz8/v7+/////v7+/////v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v7+/Pv7////wZx2hDsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAkE0ChjwAxKF8/////Pv6/v7+/v7+/v7+/v7+/////v7+/////v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v///v7+/////v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/f39/f389/Ltm14iiUIAj0oBjkkAjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkoAjUgCkE0N7OHW/v7+/f38 + /v7+/v7+/////v7+//////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/f79/f39+vj20LSYzrCSz7GUzrGTz7GTz7GTz7GTz7GTz7GTz7GT + z7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTzrGTzrGTza+S0LSY+vj1/v7+/v79/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v7//Pz7 + ////2cKriD8Aj0sCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAkEwChz8Ar35O/v7+/fz8/v7+/v7+/v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/v7+/fz7////yaiIgDMAhz0A + hTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhjsAhTsAhDsAhz4A + fS0AtIdb/f38/Pz8///+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+/v7+/fz7/v//rn1Khz0Aj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sCiEAA2MGq/////Pz7/v///v7+/v7+ + /v7+/////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v7+/f38/v797+bdkU8PjUkDkU4Fj0wDkEwDkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0D + kE0DkE0DkE0DkE0DkEwDkE0DkU4FjEcFmVwe9/Pu/v7+/v38/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7//fz7/v7+69/UjkoL + jUgBj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + j0sCikMAm18j+PXw/f39/f39/v7+/v7+/////v7+//////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/fz7////tIZYhj0AkEwCjkgAjkkAj0oAjkkAjkkA + jkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAj0oAjkkAjkkAj0sChj0A0rec/////Pv7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/////Pv6////xKF9hTsAkEwCjkkAjkkAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTsAw596/////Pz7/v7+/v7+/v7+//////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/fz7////3sq3 + iUIAjkoCj0kAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkA + jkkAj0wBiD8AqHM+/fz7/Pz7/v7+/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v3+/v39/fz8+PXxnWIpiUIAj0sBjkkA + jkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkoAjUgBjkoK + 6t7S/v7+/fz8/v7+/v7+/v7+/v7+//////////////////////////////////////////////////// + /////////v7+/v7+/f39/f38+vj1oGgviUEAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkgCjEYH5tjJ/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /v7+/v7+/Pv6////2cStiEAAj0oCjkkAjkkAj0kAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkgAkEwChz4ArHpH/f38/fz8/v7+/v7+/v7+//////////////////////// + /////////////////////////////////v7+/v7+/v7+/v7+/fz8////y6yNhTwAkEwCjkkAjkkAj0kA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTwAvZRs//// + /Pv7/////v7+/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/v7+/Pv7/v7+r4FQhz0AkEwBjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkgAj0kAkEsChz4A17+n/////Pz7 + /v7+/v7+/v7+/v7+/////////////////////////////////////////////////////v7+/v7+/f38 + /v798enfklISjEYBj0oBjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAj0oBi0QAl1gb9O/p/fz8/v38/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/fz8 + /v7+7ePakE0NjEcBj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAj0sCikMBml0i9/Pu/f39/f39/v7+/v7+//////////////////////////////////// + /////////////v7+/v7+/v7+/v7+/Pz7////toldhj0AkEwCjkkAjkkAj0oAj0kAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjUkAjkkAj0sChTwA0baa/////Pv7/v7+/v7+/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+//7+/Pv6////x6SDhTsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjUgAjkkAkEwChTwAwZx1/////Pv7//7+/f39/v7+ + /v7+/////////////////////////////////////v7+/////v39/v7+/fz7////4M67ikICj0oCjkoA + jkgAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0sBiD8A + pnA8/Pv6/fz7/v7+/v7+/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v79/fz8+fbznmMq + iEEAj0sBj0kAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + jkoAjUkCjUgI59rM/////fz8//7+/f39/////v7+/////////////////////////////////////v7+ + /v7+/v39/f38+vj1oWgwiUEAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0kAjkkAj0kAjkkCi0QG5dXF/////fz7/v7//v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////v7+/v///Pz7////3cm1iEAAjkoCjkkAjUgAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChz8AqndD/fz7/fz7/v7+/v7+/v7+//////////// + /////////////////////v7+/v7+/v79/v7+/Pz7////y6uMhTwAkEwCjkkAjkkAjkoAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTsAu5Fn/////Pz7/v7//v7+ + //7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7+/Pz7////s4RVhjwAkEwCjkgA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkkAj0wChz4A + 1bui/////Pz7/v7+/f3+/v7+/v7+/////////////////////v7+/////f39/v7+/f38/v398Ojfk1ES + jUYBj0oBjkkAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + j0oBi0UBllYa8+zl/fz9/v38/v7+/v7+/v////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7//f38/v797+XckE0OjEYAj0oAjUgAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAj0sBi0QBmVoe9vHr/f39/f39///+/f39/////v7+//////////////// + /////v7+/v7+/v7+/Pz7////tYldhj0AkEwCjkkAjkkAj0oAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0oAjUkAjkkAj0wChTsA0bWZ/////Pv6/v7+/v7+/v7+//7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/v7+/Pz7////yKiGhDoAkEwDjkkAjkkAj0oAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkgAjkkAkEwChjwAv5dw/////Pv6 + /v7+/v7+/v7+/////////////////v7+/v7+/v7+///+/fz7////4dC/ikMDj0oCjkkAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wCiD8ApW85/Pv5/fz7 + /v79/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/v39 + /fz8+/j1oGYtiUEAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAjkoAjkkCjEcG5tjK/////fv7//7+/v7+/v7+//7+/////////////v79/v7+/f39/fz8 + +/r4o2oziUAAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0oAjkkCi0UF5NTE/////fz8/v7+/v7+/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////v7+/v7+/fz7////3su4iUEBj0sCjkkAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEwChz8AqHRA/f38/fz7/f39/v7+/v7+ + /v///////v7+/v7+/v7+/v/+/Pv7////za+RhTwAkEwCjkkAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkE0ChjwAu5Jo/////Pz7/v7+/v7+/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/fz7////tIdZ + hjwAkEwCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + jkkAj0wChjwA0rec/////Pv6/v7+/f7+//7+/v7+/////v7+/v7+/f38/v7+8erilFITjEYBj0oBjkkA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0UAl1YZ + 8+3m/f39/f39/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/fz8/v398Offk1ISjEcBj0oAjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBi0QBl1ga9O7n/f38/f39/v7+/v7+/////v7+/v7+ + /v7+/Pv6////t4tfhjwAkEwCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0oAjkkAjkkAkEwChz4A0LWZ/////Pz7/v7//v7+/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+/v7+/Pv7////zK2Ohj0AkEwDjkkA + jkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkgAkEwChjwA + u5Nq/////Pv6/v7+/v7+/v7+/v7+/v7+/Pz7////4dC+ikMCj0oCjkkAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wCiEAAp3E7/Pv5/fz7/v79/v7//v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/////v7+/fz7+/j2o2sziUEAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkAjkkAjkoAjkkCjEcG5dbH/////Pz7/v7+/v7+/v7+/v39/fz8+/n3pG00iUEA + j0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0kA + jkkCikQE49PC/v7//fz8/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////4c+9iUICj0oCj0kAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBiEAAp3E7/Pv5/fz8 + /v79/v7+/v7+/Pv6////zK+Qhj0AkEwCjkkAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkgAkE0ChTwAuY9j/////Pv6/v7+/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/v7+/v7+ + /Pv6////t4xghjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAjkkAkEwChj4Az7OX/////Pv7/v7+/f38/f398erilFQVi0YBj0oBjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0UBlVUW8+zl/v39/f39 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/f38/v7+8+zllFQVi0UBj0oAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0sBi0UAlVUX8uzk/v39/fz8/Pz7//// + t4xhhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oA + jkgAjkkAj0wChjwA0LOX/////fz7/////v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v///fv7////zrGU + hjwAj0wCjkkAjUkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChTwAuI5k////+/r5////4tHAiUIDjkoCj0oAjUkAjkoAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0wCiUAApW84/Pv6/f38/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v///v7+/f38+/r4pG02iEAAj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0kAjkoCikMD4tC//v79+vj1pG02hz8AkEsBjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkkCi0QF49TD + /////fz8//7//v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/////fz8////49TEi0UFjkkCj0oA + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBiEAA + oWkx////zrGThTsAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkgAkEwChj0AupBl/////fz8/v///v7+/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/v/+/fz8////uZBkhj0AkE0CjkgAjUkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAjkkAjkkAj0sAiEAAwZ12m18iikIAj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjEYBlVYX8uzl/v79/v39/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/f39/v398+zmllYXjEYBj0oBjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAjkkAjkkAikMAjEYAjkkA + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjkgAjkkAkEwC + hj0Az7SX/////fz7//7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//7+ + /fz7////0bWZhz0Aj0wCjkkAjUgAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0oBjkoAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAjkkAjkkAj0wCiEAApW86/Pv5/fz8/v7+//7+/v7+//7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+//7+/v7+/fz8/fz7p3I+iD8Aj0wCjkkAjkkAjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAjkkAj0kCikQF49PD/////Pz8//7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+//7+/fz8////5dbH + jEYHjkoCj0oAjkkAj0kAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oA + jkkAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChj0AuI1i/////fv8/v/+/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/v7+/v///fz7////vJRqhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oBjEUBlFQW8uri/v7+/f39/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/f39/f399O7ol1kci0QBj0sB + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjUgAjkkAj0wChj0AzbCT//// + /Pz8/v7//v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/Pz7////07mfhj0Aj0wCjkkAjUgAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjkkAjkkAkEwCiEAAomw0/Pr4/f39/v7+/v7+/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////v7+/v7+/fz8/fz8qHNAhz8AkEwCjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkkCiUIC4dC+/////fz7/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz8////5tjJi0YFjUgCj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAkEwChTwA + t4tf/////fz7/v7+/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/v7+/fz7////vZZuhTsAkE0CjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0oBi0YBlFMT8eri/v7+/f38/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v39/f399vHs + mVseikQAkEsBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkgAjkkAkEwChj0Aza+Q/////Pv6/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/Pz7////1Luhhz4AkEwCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + j0sAiEAAo2w0/Pr4/fz8/f39/v7+/v7+/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/v7+/v79/fz7/f38qndDhz8AkEsB + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAjkkAjkkAjkkBi0QD4c+9/////Pz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/fz7/v7+6NvNjUkIjUgBj0kAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwBhTsAt4xf/////Pv6 + /v7+/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/Pv6////wZt2hTsAkEwBjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0oAi0UAlFIT8eri/v39/fz8/v7+/f39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/v7+ + /f38/fz89vHtmVsfikMAj0sAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEsChDoAy6uN/////Pv6/v7+/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/f3+/v7+/Pv7////1r6lhj0Aj0oBjkkAjUkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sAiEAAoWkx + +/n3/fz8/f39/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v39/fz7/v7+ + rXtJhj0AkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oBjkkAj0oBjkoCiEEA4M68/////fz7/v7+/v39/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////f39/v7+/fz7/v7+69/SjkgJi0UAjkgAjUcAjUgAjUgAjUgAjUgAjUgAjUgAjUgA + jUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUcAjUcAjkoAhDkAtYlb/////Pz6/f7+/v7+/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/v39/v7+/Pz7////xKF9jEcSlVQW + k1IUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUk1IUlFMV + kU8TmVoj8ejg/v39/fz7/v7//f39/v////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v///f39/f38/Pv67+bd8Ofe8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off + 8Off8Off8Off8Off8Off8Off8Off8Off7uXd9O7o/////f39/v7+/v7+/v7+//7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v////7+/v7+/v7+/v7+//////////////////////// + /////////////////////////////////////////////////////////////////////////v39/v7+ + ///+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////7+/v////// + /////v7+/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v79/////////v7+/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/////v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAEAAAACAAABABgAAAAAAAAgAwAAAAAAAAAAAAAA + AAAAAAAA//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v79/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////9/Lt9/Pu + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Pt/v7+/v79/v7+/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v79/v799/Ls9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Pt9/Lt/v39pm80omkso2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2svnmMrzrGR/////fz7//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/fz8//// + 1bygnGAqo2svo2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2svnWEruY9i/fz8wJpwkUwEiUIAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0UAiUAAlVQT7uTZ + /v39/fz8/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f38/v7+9O3nmFkViD8Ai0UAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAikMAi0MA3sq1/v7+/fz8wJhviD8AkU0Fj0sCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkU0EiD8AuItb/////f38/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7////vZNniD8AkU0EkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCj0sCkU4EiUAAuY9h + /////Pn4/v7+9e/pnF8ei0UAj0oBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0MA3cix/////fz7//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////Pz7////49G/j0oHjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEYBl1cU8urj/v39/fv6+vf0//// + 1LqfikIAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoAj0sBikIAoWcq9vLt/fz7/v39/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /f38+/n3p3A0iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEAzrCQ/////fz7/v7+/fz7/fz7+/n3q3hBiUAAkEsC + j0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiEAAyKaB/////fz7/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/Pz7////z7GRiUEAkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oBikIApnA0/fz7/v39/v7+/////////f38////6NrMkEwHjUgBjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoA + jUgBlFIO7uTa/////f38//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz8/v398OfellYTjEYBj0oBj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgB + jUYA4tG+/////fz7/////v7+/v7+/////fz8////wJpvhz4Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsCiD8As4RR/fz7 + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v38////uY9ghz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8Au5Fk/////f38/v7+ + /v7+/////////v7+/fz8/v389e/pnmMmi0MBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCi0QB3Mav/////fz8/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/Pz8////4tG+jUgCjkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0UAmFkW9e/o/v7+/f38//////////////////// + /////fv6////17+miUEAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikMAoWgp+vfz/v7+/v79//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f39/fz8+/j2pW4z + iUAAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAj0oBiUEA0ria/////fz8/v7+/v7+/////////////////v7+/v39/v39/v/+ + sH9LiEAAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoAj0sCiD4Ax6Z//////fv6/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////7+/v7//fz8////yqqHiD8Aj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0sCiUIAqXU7/fz7/v39/v39/////////////////////////////v7+/fz7/v7+6t3PkU4NjkgCjkoB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0oAjUcBkU0N7ODU/////f39/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v///f38/v7+7+bdlVMOjEYBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkBjUgB5dXG//// + /f38/////v7+//////////////////////////////7//fz7////w551iD4AkEwCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sB + hz4Ar35J/v39/fz8/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v39/fz7////tolYhz4Aj0sDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBiEAAvZZq/////f37/v7+/v7+//////// + /////////////////////v7+/////f39/v7+9vHsnmMki0QAj0sAj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oCi0QB2cKo//// + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz8//// + 3su3jUcDjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBmlsZ9O7n/v79/f38//////////////////////////////// + /////////v7+/v7+/fz6////2cGpikIBj0oDjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBi0MAn2Qn+PTw/v79/f38/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f39/fz8+vf0omosiUEAj0oBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sCiD8A0reZ/////fz7/////v7+//////////////////////////////////////////// + /v7+/fz7/Pv6sH9KiD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0Aw594/////fz7//7///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/Pz7////yqmGiUAAj0sCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUEAq3hA + /Pz6/f38/v39//7+/////////////////////////////////////////////v7+/////f37////7OLW + k1EOjUcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoBjUcCklAO6t7Q/v7+/fz7/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////f39//7/7ePYk1ENjUcAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUcBj0sG6NrL/////fz8/v///v7+ + /////////////////////////////////////////////////v7+/v7+/fz7////xqR+hz4Aj0sCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEsBiUEAsIFN/v79/v39/v3+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v79 + /Pz7/v7+s4RQiEAAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBhz4AwZty/////fz8/v7///7+//////////////////// + /////////////////////////////////////v7//v39/v399/PuoWgrikIAj0oBj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iEAA176j/////fz7//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/fz8////2sSti0QBjkoC + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0kAj0sBi0QAm14d9vHr/v79/f39//////////////////////////////////////////// + ///////////////////////+/////fz8////3MawikMBj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCi0QBnGAi9O7n/v38 + /fz8/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////f39/v39+fbzoGcoikIAj0sBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iUEA1buf/////fz8/v7+/v7+//////////////////////////////////////////////////////// + /////////v7+/f79/fz8/f39soNPhz4Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz0AwZxz/////f38/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/Pz7////x6V/iD8AkEwBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wBiEAArHpD/v7+/v38/v7+ + /////////////////////////////////////////////////////////////////////////////v7+ + /f38/v7+69/SlFIPjUcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkgBkEwG6dvN/////fz8//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////Pz7/v397ODUlFMRjUcCj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBkE0I6NvM//7+/fz8/////v7+//////////// + /////////////////////////////////////////////////////////////////////fz7////yKaB + hz0AkEwDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sCiUEArXtG/Pv5/fz7/v39/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v///f38////sH9K + hz8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0wChz8AwJlv/////f38/v7+/v7+//////////////////////////////// + /////////////////////////////////////////////v7+/v7+/f39/f389/Puomgti0MAj0sCj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0sDiD8A1r2i/////fz7/////v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/f38////18ClikMAj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0oBi0QAnmIj9vHs/v39/v39//////////////////////////////////////////////////////// + /////////////////////////////////////v7+/fz8////3sq0jEYAjkoCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAi0UA + nWAf9vHs/v7+/v79//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/f38/f389vHsn2Qli0QBj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCikIA2MGo//// + /fz7/////v7+//////////////////////////////////////////////////////////////////// + /////////////////////////////fz8////tYhWhz4Aj0wBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiD8AwJpw/v7+/fz7 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////+/////fz7////xKF6hz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wBiEAAsH9L/////f38/v79/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////fz7/v797uXblVQVjEYBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkCjkkG59jJ/////f38/////v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v///f38//// + 6t3PkU4IjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgBkU4J6t7Q/v7+/fz8//////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz7////yqqGiEAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUEAqnY9/Pr4/v39/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////+/v39/fz7/fz7r39KiUEAj0sCj0kA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEwChz0Aw553/////fz8/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f39/v79+/n3omor + ikEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkoAj0sCiEAA0raY/////fz6/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7//fz7////1ryiiUIAj0oCjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikMBnmMm + +PTw/v39/f39//////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz7////38u2i0QEjkoDjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0kAj0sBjEUAmVwb9e/p/v7+/f38//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////f38/v7+9vHsnF8eikMAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA2MCl/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/fz8/v7+t4pZiD8AkEwCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz4A + vpVq/////fz7/v/+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /Pz7////wJpwhz0Aj0wDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAAr39J/v7+/v39/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////f39////8urillcTjEYAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUgCjkgE5dXE/////fz7 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////fz8////59nLkEsHjUgB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoBjEcBk1AN7OLW/v///fz7//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/Pz7////za6OiEAAj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBiUEAqnY8/f38/v39/v3+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////f39/fz8/fz7rHlCiUEAkEsBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iD8AyKaB/////fz7/v///v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v79 + /fz7+fXypW0xiUEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEA0bWX/////fz8/////v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/fz7////z7OTikIAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBikMAn2Yl+vf0/v7+/f39 + //7///////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/////fz7////4tG+jEYC + jkoBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oBjEUCl1gY8+vk/v79/fz7//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////f38////7eLWlFEOjEcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkoBi0QA28av/////fz7/v7//v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v79/fz7/v7+uY5fiEAAj0wCjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEsCiD8Auo9h/////fz8/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v79/fz8+/r4rHlE + iUEAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBiD8As4RR/f39/v39/v7+///+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7//f38/v7+7+fdl1cUjEYBjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBjkgB + 4tC+/////f38/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v///v7+/Pz7////wp51hz4Aj0sCj0kAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjUcBk1EN7+Xb/////f39/////v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////fz8////z7GRhz4Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAp3E4/Pv5/v38/v39 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+//7+/fz7////3ciwjEUAjkkBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0Ax6WA//// + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/f39/fz7+vj1qHI4iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAkEsCiD8Az7GR/////f38/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/////fv7////7OHUlVQWjEYBj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikMAomks+PPv/v39/v79//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/fz7 + ////5NPBj0oGjkgBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBjEYAl1gU8uri/v7+/fz8//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7//f38////8uvj + n2QoiUEAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCi0QB38u2/////fz7/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f38////u5Jlhz0A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBiD8AupBi/////fz8/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////fz8/v7/+PTvq3dAiD8AkEwBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0wCiEAAt4pa/v7+/f38/v79/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/fz8/v398erimVwcjEUBj0sBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkBjUgE4M66/////fz7/////v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/////fz8////+vj1rHpFiD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjUcBlVQR + 7+bd/v7+/f39//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/fz7////0LSUiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikIAo2sv + +/n4/v39/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v39////+/n2tYhXhz4Aj0wDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0AyquI/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/fz8/fz7qHM5iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4Ay6uJ/////fz7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+///+/v7+/fz7////+vf0 + rXtIikIAj0sDj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sBikIAo2wx+PXx/f38/f38/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////Pz7////4tLAjkgHjUgCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBllYS8Oje/v7+/f38//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////fv7////9/Puq3hChz4Aj0sBj0oAj0kA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkoBi0UA4M24/////fz7//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/Pz6 + ////vpZqiD4Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AuItc/////fz8/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////7+/////v7+/fz7////7+XaomoxiEAAkEwDj0oAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwC + hz4AtolZ/////fz8/v3+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////f39/v7+9vHsnGAdi0MA + j0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkCjEYB38y3/////fz8/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /v///v39/Pz7////38y3mFkciUAAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEYDllYX7+bc/v7+/f38 + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/fz7////1LqeiUEBj0sDjkoAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoA + j0sBikIApGww+vj1/v39/f39/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////////Pv6////////y6yJ + j0sEikMAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiD8Azq+O/////fz7//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v39/fz7/Pr5qnY9iD8Aj0wCj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AzK2M + /////Pz7/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/////v7+/fz7////8+zks4NTiUEAjUkAkEsCjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAkEsBiUEApnA0/fv6/v39/f79/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v///f38////5tjJkUwIjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYBlFIP7uTa/v7+/f38//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////v7+/fz7////////3Mixm14hiEAAj0sCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjkkCjkkG4c+7/////fz7/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //7+/v7+/fz7////v5lviD8Aj0sDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUAAtIZV/////v39/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+///+/v39 + /fz8////+PTvvpZujUgDikQAkEwDj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4AuI1d//// + /fz7/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////7+/f38/f38 + 9O7nm10ci0QAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA3ciy/////fz8/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////v7+/fz7////////28aunmImhz4A + jkkAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYAl1gW8+vk///+/f38/////v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7//Pz7////1LqdikIAj0sB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oBikMAoWgp+fby/f39/f39//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/////v7+/fz7/v//////8OjdtolbjEUAikMAkEwCj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAzrGR/////fz7/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v39/fz7/f38rn1HiD8Aj0sCj0kAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0sBiD8AyKiE/////fz8/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////f38////////+/j2y62LlVQSiD8AjkoBj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0oBiUEApW4z+vj1/v39/v39//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/Pz7/v7+6d3Qkk8LjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUcBkk8J7eTZ + /v7+/f38/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////v7+/f38/f39/////Pr4 + 2sSsomktiD8AjEcAkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjkkAjkgD + 49PB/////fz8/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f38////w552hz4Aj0wBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD4As4VS/////f39/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/////f38/v7+////////38y3qXU+iUEAikMAkEsCj0sB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4AvJNm/////fz7/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////f39/f389vHrnGAgikMAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBjEYA3Mex/////fz7/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////////v39/fz8/v7/////////4tC9rntHjUgCiUIAkEsCj0sBj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oBjEUBmVsZ9O7m/v7+/f38//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/Pz7//// + 2MCnikMAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0oAi0MAnmMj+ffz/v39/f38//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/v39/fv6//// + /////fz82MGnrXtIjUYAiUEAjkkAkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sCikEA0bWX/////fz7/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f39////r35IiUAAj0wC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiEAAxKF6/////fz8/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////v7+/f38/fz6/v7/////////8uvj0bWXomktjEUAiD4A + j0oBkEsBj0oAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsC + iUEAqHQ7+/j2/fz8/v39/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////fz7/v7+6NvNkEwIjUgBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jUgBkk8K7ODV/////fz7/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////v7+/v7+/v7+/v39/v39/////////f3859jKvZVqnF8hiD8Ai0QAj0oAkEwEj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgBjkkE5dXE/////fz7 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/Pz7////w551iD4Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAsIBL//// + /f38/v7+///+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////v7+/fz8/fz6//////// + ////////69/T0baYqndBjkgAiUAAi0QAkEwDj0sBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AvZRo/////fz7/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f39+vbzn2UlikMAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCi0QA2sOq/////fz7/v7//v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/v79/v38/v38/f38/v///////////v398Ojf0bWXsYBNlVUShz0A + ikIAjkkAkEwCj0sCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oBi0UBmlsc8eri/v39/fz8/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////Pz7////28avi0MBj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikMAnmIj+PXx/v39/f38///+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v79/f38 + /fz7/fz6/v7+/////////////////Pr55dXDyaqHr31Lkk8HikMAiUEAjUYAkEwDj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAj0oBiUEA1Lqd/////fv6//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/f79/fz7/f38 + sYJOiEAAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AxKB5/////fz8/v///v7+//////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////v7+/v39 + /v39/v39/v39/v39/v39/v38/v38/fz8/fz8/f38/f38/v38/v38/v39////////////////////9vDq + 6d3P0baYtIZVn2Unkk8HhjsAiUAAjkgAj0sBkEsCj0sBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUAArHpD/f38 + /v39/v39/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////fz8////7OHWkk8KjUcAjkoA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjUgBkU4J6NrM/////fz8//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////9O3l49PB1Lqew552soNRnmIhikIAikIAiUEAikIA + jUgAkE0EkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoBjUgCj0wK59nK/////fz7/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////xqR+hz4AkEwCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iUEArnxG/v7+/f38/f39/v7+//////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz6+PXv+fXy+fXy+fXy+fbz9vDr8Oje8Oje6dzO + 5NXE2MCmzbCPv5dusIBMn2UnmlwZk1EJjEUAhz0AiUEAjUcAkEwEkE0EkU0EkU0EkEwDj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sBkE0Ehz4Av5ht/v7+/fz7/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////+/f39/f389/PuoGYnikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAA1r2i//// + /Pz7/////v7+//////////////////////////////////////////////////////////////////// + /////////////////fz7////4M25l1YeoGYnn2MknmMkn2QmmVsYkUwEkU0FhTkAgzcAhDgAhDkAhDkA + hToAhToAhz0AiEAAikIAi0UAi0QAikIAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAikIAhz0Am1wc9O7o/v7+/f39/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+//7//f38////2sSsi0QAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0UBnWEg9fDr/v39/f39//////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////6NrMtIZYupFjuY9huo9huY9gupBjvJNnvJNnvpdsv5dtv5dtv5dsvpdsvpdsvpdsvpZrvpZr + vpVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvpdsuI1g + 4M24/////fz8/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////+ + /v7+/fz7////tIZUiD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8AwZxy/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz7/v397ePY + llURjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkgBkEsF6NrN/v7+/fz8/////v7+//////////////////////////// + /////////////////////////////////////////////////v7+/////v79/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v39/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/Pv7////yaiEiD8Aj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEsCiUEArXpD/v7//f39/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////f39/v38+vf0oWgrikIAj0sBj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oB + ikMA1bqf/////fz7/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz7////3MiyjEYBjkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0QAmlwa9O7n/v39 + /f38/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/f39////tIdViD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD4Avpds/////f38/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /fz8/v7+7+XblFIOjEYBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgBjkoD5dbF/v7//fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v38/v39 + /v38/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/////////v////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz8////y6uI + iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBiUEAq3c//fz7/v38/f79//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f39/v39/Pv6pGwuikEAj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sCikIA1Lqd/////fz7/v///v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7++fbzqXY9nmImoGYnoGUnoGUnoGUnoGUnoGUnoGUnoGUn + oGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUn + oGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnn2UnoGUnnmMm4c+8//// + /fz8//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz7////4tC9jUgEjkkCjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0QA + mVsZ8+zl/v38/fz8//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/fz7////xaJ8hToAi0QAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAi0QAhDoAqHI6+/n3/v39/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz8////uIxciUAAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8AvpZs/////fz7 + /v7+//7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz7/v7+ + 7ODUk1EPjUcCkEwDj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sCkEsCjkkDkk4L6t7Q/////fz7//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////f39/v7+8enhllYQjUYAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkkE49PB/////fz8/v///v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/f38////soJOiEAAj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0wBiD8Awp10/////fz8/v7+/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /Pz7////za+OikEAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sDiEAAp3I3/Pr4/f38/v39/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/Pz7////2cOri0QAj0oBjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0UAnWAf + 9vHs/v79/fz8//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/f39/f38+/n3pm8z + iUEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0oCikIA0LOU/////fz8/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/f38/f38+PPvoGcqi0QBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCiUEA1r2i/////fz7/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////fz7////4tC9jkkDjkkBjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAi0YAl1gT8+3l/v7+/f39//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////x6V/iD8AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiEAArXtF/f38/f38/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/fz8////vJJmiD4AkEwCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiEAA + upFj/////fz8/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f38/v7+6t7RklALjUcB + jkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0kAjkgBkU0I6NrM/////f38/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7//fz8/v798eril1kVi0QAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgBj0oG5NPC/////fz7 + /////v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v79/f38/f38soNQiUEAj0sCj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsC + hz4AwZty/////fz8/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////+/v///f37////0bWXiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApm8z/fz6/f38/f39//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////fz7////3MexikMAj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0MBnGEj9vLt/v39/f38 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////f39 + /f38/Pr4qHM6iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oCiUEAz7KS/////fz7/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v39/f38+PXxomotikIAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUIA1r2i/////fz7/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz7////49PBjUgC + jkkBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjEYBllYU8ejf/v79/f38/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz7////y6yJ + hz8Aj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAkEsBiD8ArXpD/fz7/v38/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/fz8////vJNmhz8Aj0sBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEsChz4At4ta/////fz8/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////f39////7ePZlFIPjEYAj0oAj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjUgCkEwL6dzO/////fz7//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////fz8/v398+vkmFoXi0UAj0oBj0kAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkkBjUcD + 38y3/////fz7/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/fz7/f38tYdVhz8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AwZtx//// + /fz8/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/fz8////0reaikIAjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApGww+/j2/v38/f39 + /////v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/fz6////3su1jEUEjkoCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0QAnGAf9fDq/v79/f39//7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v79/v39/f39q3c+iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AzKyK/////Pz7/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v/+/f39/v79 + +fb0o2otikMAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCikIA07eb/////fz7/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/////fz8 + /v7/59fIjkoEjUkBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0YBl1cV7+bc/f39/fz7/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+//7//fv7////yqmGiD8AkEwCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sBiEAAqXU7/Pv6/f38/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz8////v5dtiD4A + kEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBiD8Atotb/////fz7/v7+///+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////7+/fz8/v7+7uTalVQUjUcCj0oBj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkCj0oK + 5tbG/////fz8/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////f39/v399O7om10ci0UBj0oBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAj0oBjUcB4M25/////f38/v7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////f38////tolXiD8AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD4Avpdr/////fz7/v39/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////fz8////07ibiUAAkEsBjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCikIAomos + +PTw/fz8/f39/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////3ciyikMAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAi0UAmlsY9O7n/v7+/v39/v////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f39/f38/v79q3c/iUAAj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz4AyaiF/////fz7//// + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f39/f38+fXxomoviUEA + kEwCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0sCiUAA07mc/////fz7//////7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////fz8////6NvMkEwHjUgBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUcAk1EL7uTa/////f39//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////f38////y6uJhz8Aj0sBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sB + iUAAq3dA/Pr4/fz7/f39/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v///fz7 + ////wpxziD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8AtIZU/v39/fz7/v39/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////f38/v7+7uPYlFMPjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgBj0oC5dbG/////fz7 + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////+/fz8/v399/LunGAfi0MA + j0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0kBjEUC3cm0/////fz7/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v79/f38/v7+tYhYiD8AkEsCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz0AvpZr/////fz8/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v///fz7////17+likMAj0oBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + j0oBikMAomgq+vf0/f39/v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////Pz7////4M24 + i0UAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0sBi0QBm10f8+3m/f38/fz7/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////7+/v79/f39////rnxGiUAAkEsCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiEAAyKWB + /////Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v79/f38+PTxomkti0MAj0sBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEwBiUEA0rea/////fz7/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7//fz7////6t3QkE0IjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjUcBkk8M69/T/v7+/fz7//// + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/fz7////y6yKhz4Aj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUAAqnU9/Pz7 + /v38/v39/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/v7+/fz7////wZtyhz8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiEAAsoJP/////f38/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////f38/v7+8enhllYSjUcBj0oBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgCj0sJ5dbG//7+/Pz7/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////f38/v79 + +PTwnGAfi0QAj0sAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkoCi0QA28St/////Pz7/v7+/v7+//////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/f38 + ////uI1diD8AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBhz8AvpZq/////fz7/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/fz7////2sSsi0UAj0oB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0kAj0sCikMAnmQl9/Lt/f38/f39/////v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/fz7////4tC+jUcCjkkBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0oBi0QAmVsZ9O3m/v79/f38/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/f38////sYFMiD8Aj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + kEwChz4AxaJ8/////fz7/v7+//////////////////////////////////////////////////////// + ///////////////////////////////////+/f39/f39+/n3pGwwikEAj0sBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sCiUAA + 07mb/////Pz7/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////fz7/v7+7OHUkU0HjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjUcBk1AO6+DU + /v7+/Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////v7+/v///f38////za+OiD8Aj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAq3c+/fz7/fz8/f79//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/fz8////xqR/iD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz4AsIBM/v79/fz7/v7+//// + //////////////////////////////////////////////////////////////////////////////7/ + /fz8/v7+8erillYSjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBjkkF5tfH/////fz8/////v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////f39/f39+PXwn2Qli0MAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA2cKp/////fz8/v7///////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz8////uI1fiD8A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0wDhz4AvpVq/////Pz7/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz8//// + 2sWtikEAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oBi0MAnWAg9vDq/f38/f38/v7+//////////////////////////// + /////////////////////////////////////////////fz7////4tC9jUcAjkkBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jEQAm10b9O/p/v7+/f38//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v39/v7+soJPiUAAkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sDhz8Aw552/////fz7/v7+//7+//////////////////////////////////////// + /////////////////////v7+/f39/f38/Pr4pW8yikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUAA07ib/////fz7 + /v7//v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////f38/v7+7OHWklAMjUcBj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jUgAklAK6dzO/////f38/v////////////////////////////////////////////////////////// + /v7+/////fz7////za+OiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCiEAAqXY9+/n3/fz7/v39///+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////fz8////yamFiD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0wCiEAArXpD/Pv6 + /fz6/v39/v7+/////////////////////////////////////////////////////////f39/v7+8eng + lVMPjEYAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkBkEwF5tjJ/////f38/v///v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/f39/v39+fXyomkrikMAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sDikMC17+l/////fz7/////v7+ + /////////////////////////////////////////////v7+/v7+/f38////uI1diEAAkEsDjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEwBiD8Au5Jl/////fz8/v7+//7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////fz8////3ciyi0QAjkoCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBi0QAnmIi9vLt/v7+/v7+//////////////////// + /////////////////////////v7+/////fz8////4tC9jkgEjkkBj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBmFoX8uvj + /v39/fz8/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/fz8//// + tYdViD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0wDhz4AwZtx/////fz7/v7+/v7+//////////////////////////// + /////////////v7+/v39/Pr4pG0vikMAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiEAAz7KT/////fz7/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////fz7/v7+7uTalVQQjEYBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oBjUgCkU4N59jI/////fz8/////v7+/////////////////////////////v7+/v7+/fz8 + ////za6NiUAAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUEApm8z/Pv5/v39/f39//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////yaiDhz4Aj0sCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sB + iUAAqnY9/fz8/f38/v7+/////////////////////////////v7+/////f38/v398enhllcVi0UBj0oB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkgBjkkD5NTD/////fz8/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////f39/v39+/j2oWgqikIAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUIA07mb//// + /fz7/v7+/////////////////////////////v7+/f38////t4tahz8AkEsBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiD8A + upFj/////fz8/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/fz7////4M67jEYDjkkCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBi0QBm18g8+3l/v39/f38/v7+/v7+ + /////////////v7+/v7+/Pz7////5NTEjkkEjUkCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjEUAllcT8+vk/v39/f38//// + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/fz8////uIxciD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz0Avpdr/////fz7//////////////////////// + /f39/fz8+/n3p3E4iUEAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBiUAA0LSV/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////fz8/v7+8Ojf + llYSjEcBj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkgBkEwI5dfG/////fz7/v7+/////////////v7+/fz7////0LSWiEAA + kEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBikIAp3A1/Pr5/v39/v39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/fz7////za2Mhz8AkEsCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0sBiEEArHlC+/r4/fz8/v39/v7+/v7+/v7+/f38/v398+zkmVoZi0UBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkBjUcA49LA/////f38/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v38/f39+/n3pG0yikEAj0sCjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iD8A0ria/////fz7//////7+/v7+/fz7////u5Jlhz0Aj0wDjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8Au5Jk/////f38 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/////f38////38y3jUcAjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEUBmlsb8eng/v79 + /f38/////f38////5NTDjkkEjkkBjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBl1gV8uvk/v79/f38//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/fz8////t4xchz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wCiD4Au5Jm/////fz7/f39/fz8+/n3 + qXQ6iUIAj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8A0LOU/////fz8/////v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7/v7+8engllYWjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkgD5NTD/////Pr5////0bSXiEAAj0sDjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0kAj0sCikIAp3E3/Pr4/v39/v39/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////fz8////0baX + iUAAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAj0sBiUAApnE2+fbz/f388uvjl1cTi0UAj0oAj0kAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkgE5NTD + /////fz8/v////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v3+/v39/Pv5p3I4iUEAkEsBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkoAj0sCiUAAz7GT////upFjiD8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8Au5Fj/////fz8/v7///7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////fz7////4tG/jUcDjkkCjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAi0MA + nWEh1r2ikE0KjkgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEYBl1gX8urj/v7+/f38///+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v/+/Pz7////u5FkiD8AkEwBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAkU4FjUcAj0oA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sCiEAA0bWW/////fz7/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////f38/v7+8+zlmFkZjEYBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgAj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikIA + qHI4/Pv5/v39/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz6////0LOTiD8AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kCjUcF49G//////f38//// + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v39+/r3qnY+ + iUEAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sChz4Au5Nm/v///fz8/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////f38////5tfIjkkIjkkCj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0oAjEYAl1cU8+zl/v7+/v39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/fz7////v5huhz4Aj0sCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + kEsChz8Az7KS/////fz7/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v79/v7+9O7pmlwZi0UAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsCikEApnA3+vf0/fz7 + /v39/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////fz7////07ibiD8AkEsDj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkoBjEUA38y3/////fz7//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v39 + /fz7+/n3q3hBiUEAkEsCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0wChz4AuY1f/////f38/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////fz8////59jIj0oD + jkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oBjEYCl1YV7+Xb/v39/fz7/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/f37////vpdthz0Aj0wCj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBhz4Ay6uJ + /////fz8//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/fz8/v399O/om18hi0QBj0oBj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApW40+vf0/v39/v39/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////f38////1r2iiUAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkCjEYE4M24/////fz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/v79/v38/v39rnxIiEAAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAkEwChz8At4tZ/v7+/fz7/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/fz7 + /v7+6NrMkU0LjkgCjkoBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYB + llYW7+Xb/v7+/f38/////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////7//fz7////wJpwhz0A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiD8Aza6M/////fz7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////f39/v799vLtnWIki0QAj0sBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBiUEApG0x+vf0/f38/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7////1r6ii0MAj0oCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkoAj0kCjEYF38y3/////fz7/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/f38/fz8rXtEiUAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0wChz8AuIxc/v7+/fz7/v39/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////fz8////697Skk8MjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkoAjUYAllYR8Ofe/v/+ + /v39/v////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/fv6 + ////xKF6iD4AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wCiD8Ay6uJ/////v38//////7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v79/v7++fXyn2Qli0MA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0kAj0sCiUEApW8z+fby/fz7/f39/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////fz8////2cKqikQAjkoCj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkoAjkkBjEYA4M24/////fz8/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7/Pv6sH9LiD8AkEsCj0kAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz4At4pa + /////f38//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38////7OLWkk4KjUgBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEUBl1cV7uXb/v39/Pz8/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////fz8////xaJ8iD8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAAzK2L/////Pz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v39/fz7 + 9/LtomgsikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiUIApGww/Pn3/f38/f39//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////fz7////3Mewi0QAj0oB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkB + jUcE3sq2/////Pz7/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/f38////tolXiD8Aj0wBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8AuIxb/////fz8/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/fz7/v7+7eLWlVMSjUcCj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUYBllYT8Ojf/v7+/f39/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////fz8////yKaBhz4AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBhz8AyaiF/////fz7/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v39/v39+PTxomktikIAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oBikMAomgq+fXy/v39/f39//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/fz7//// + 3Mixi0MBjkoCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0MA3ciy//// + /fz8/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/fz7/v79tIdVhz4AkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBhz8AtIdV/////f37/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////f38////7+belVUUjEYBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkoAjUYBlFMO7uPZ/v7+/fz8//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/fz7////y6yJiD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEwBhz4AyKaD/////fz7/v///v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v38+ff0pW4yikEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikIAoWgq + +vf1/f38/f39//7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////fz7////4M24jEUFj0kCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkCjEYB3ciy/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v39/fz7/v39 + tolZhz4AkU4FkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwD + kEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwD + kEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwCkU0EiEAAtIVS/////f39/v7+///+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v///v39////8OfdlVQQhDoAiD8A + iD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4A + iD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4A + iD4AiD4AiD4AiD8AhToAkU4K7+Xc/v7+/f38/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////7+/////v7+////38y4y6yNzrGQzrCQzrCQzrCQzrCQ + zrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQ + zrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrGS + yqqM38u2/////v79/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/v7+/v79//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v79/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8 + /fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8 + /fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/f38/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxCommConfig.Designer.cs b/LFP_Manager/Forms/fmxCommConfig.Designer.cs new file mode 100644 index 0000000..e1ba7d2 --- /dev/null +++ b/LFP_Manager/Forms/fmxCommConfig.Designer.cs @@ -0,0 +1,108 @@ +namespace LFP_Manager.Forms +{ + partial class fmxCommConfig + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fmxCommConfig)); + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.ucCommConfig1 = new LFP_Manager.Controls.ucCommConfig(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.ucCommConfig1); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.Root = this.layoutControlGroup1; + this.layoutControl1.Size = new System.Drawing.Size(404, 596); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // layoutControlGroup1 + // + this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1"; + this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup1.GroupBordersVisible = false; + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem1}); + this.layoutControlGroup1.Name = "layoutControlGroup1"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup1.Size = new System.Drawing.Size(404, 596); + this.layoutControlGroup1.TextVisible = false; + // + // ucCommConfig1 + // + this.ucCommConfig1.Location = new System.Drawing.Point(3, 3); + this.ucCommConfig1.Name = "ucCommConfig1"; + this.ucCommConfig1.Size = new System.Drawing.Size(398, 590); + this.ucCommConfig1.TabIndex = 4; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.ucCommConfig1; + this.layoutControlItem1.CustomizationFormText = "layoutControlItem1"; + this.layoutControlItem1.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(402, 594); + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // fmxCommConfig + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(404, 596); + this.Controls.Add(this.layoutControl1); + this.IconOptions.Icon = ((System.Drawing.Icon)(resources.GetObject("fmxCommConfig.IconOptions.Icon"))); + this.Name = "fmxCommConfig"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Communication Config"; + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private Controls.ucCommConfig ucCommConfig1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxCommConfig.cs b/LFP_Manager/Forms/fmxCommConfig.cs new file mode 100644 index 0000000..9c447b0 --- /dev/null +++ b/LFP_Manager/Forms/fmxCommConfig.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Linq; +using System.Windows.Forms; +using DevExpress.XtraEditors; + +namespace LFP_Manager.Forms +{ + public delegate void UpdateEvent(object aConfig); + + public partial class fmxCommConfig : DevExpress.XtraEditors.XtraForm + { + public event UpdateEvent OnUpdate = null; + + public fmxCommConfig() + { + InitializeComponent(); + + ucCommConfig1.OnClose += FormClose; + } + + private void FormClose(object Config, bool saved) + { + if (OnUpdate != null) + { + if (saved == true) + { + OnUpdate(Config); + } + } + Close(); + } + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxCommConfig.resx b/LFP_Manager/Forms/fmxCommConfig.resx new file mode 100644 index 0000000..cf8c6d2 --- /dev/null +++ b/LFP_Manager/Forms/fmxCommConfig.resx @@ -0,0 +1,4571 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAQAICAAAAEAGACoDAAARgAAADAwAAABABgAqBwAAO4MAACAgAAAAQAYACjIAACWKQAAAAAAAAEA + GAAoIAMAvvEAACgAAAAgAAAAQAAAAAEAGAAAAAAAgAwAAAAAAAAAAAAAAAAAAAAAAAD///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////+/v7+/v7+/v7+/v7+/v7+/v7+/v7/ + ///+/v7////////////////////////////////////////////////////////+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7////+/v7+/v3+/v3+/v3+/v7+/f3////////+/v7///////////////////// + ///////////////////////////+/v7////+/v7+/f3+/v7+/v3+/v3+/v3+/v7////7+ff///////// + ///////////////+/v3+/v7////+/v7////////////////////////////////////////+/v7////+ + /v7+/v7////////////////////////7+PbCnHejazCkbTKkbDKlbjSdYTDLrIr////9/Pz+/v7///// + ///////////////////////////////////////////+/v79/fz////BnHSeYjClbjSkbDKkbDOjazDc + x7L49PGkbDKEOACKQwCJQQCHPgCNRwTt49n+/v39/Pz+/v7+/v7///////////////////////////// + ///+/v7+/v79/Pv//v7j0sKHPgCJQACJQQCLRACCNgCufkv////////q3tKOSQePSgSPSwKRTQSHPgCt + e0f////9/Pv+/v7////////////////////////////////+/v7////9/f39/Pv9/PuiaS6JQQCQTQOP + SwKNSAOUUxLz7ef+/f37+Pb////AmnKGOwCQTAKOSQCPSwKHPwDaxa7////8+/r+/v7+/v7///////// + ///////////+/v7///7+/v77+vj////OsJGGPACQTAKOSQCQTAKGPADNr4/////7+ff9/Pv9/fz38u6Z + WhuLQwCPSgGPSgGLRQGcXyH59vP9/fz9/fz////+/v7////////+/v7+/v7////+/v77+vn////u5NqS + Tw+OSAKOSQCPSwKJQACiai/8+vn9/Pz9/f3+///9/Pv////WvqWHPQCQTAOOSQCQTQOGPADDn3j////8 + +/r+/v7////+/v7+/v7+/v79/fz8+/r9/f3////u49mdYSiKQwCPSwGOSQCPSwKKQgDi0L/////9/Pv+ + /v7//v7+/v79/Pz///+seUOIPwCQTAKOSQCOSQKNSAbq39P+/v39/Pz+/v7////////////////////+ + /v7SuJ6WVRiLRQCRTwaQTASSUAeHPgC4jV7////9/Pv+/v7////+/v7+/v79/Pz+/v7r39SOSQeOSgKO + SQCQSwKHPwCsekT+/v/9/Pz+/v78+/r49PDy6uPi0cDDn3yZXB9/MACEOACHPgCGOwCFPACEOgCTURDz + 7Ob9/fz9/f3////+/v7////////+/v78+/r////CnneGPACQTAKOSQCQTAKHPgDYwan////9/Pz38u7o + 2szgzbvTuZ/MrY/St5zeyrTcyLLcx7Hcx7HdybPVvKfl1cX////9/fz+/v7+/v7////////+/v7////9 + /f39/Pz59fObXiCKQwCPSgGPSgGLRAGaXB349PH9/fz+/v/////////////////28e3AmnrEn3rDn3nE + oXu+lnbcxrD////9/Pv+/v7////////////////////+/v7+/v79/Pv////bxa+HPgCPSwKOSQCQTAKG + PADAmnH////8+/r9/fz9/Pv7+ff9/Purd0F/MACGOwCFOgCEOQCEOADj0sH+/fz9/Pz+/v7+/v7///// + ///////////////////+/v79/Pz///+ufkqHPgCQTAKOSQCOSgKNRwPp3M/+/v79/Pv8+/r////YwaqH + PgCSTwaQTAOSTwaHPgDDn3n////9/Pv+/v7////////////////////////////+/v7+/v79/Pz+/v7t + 4tiNSAaNSAKOSQCQTAKJQQCqd0D+/v79/Pv9/fz49fKbXyCMRQGPSwGPSgGLRAGYWRn38+/9/fz9/f3/ + ///+/v7///////////////////////////////7+/v79/Pv////EoHqFOwCQTQOOSQCQTQOHPwDUu6H/ + ///////Dn3iGPQCQTQOOSQCQTAOGPQDWvaT////9/Pv+/v7+/v7///////////////////////////// + ///+/v7////9/f39/Pv59vScYCOLRQGPSwKPSgGMRQGWVhf7+ffu5duNSAaOSQKOSQCQTAKJQQCqd0D+ + /v79+/r+/v7////////////////////////////////////////////+/v7+/v78+/r////cx7GJQgCQ + TAOOSQCQTAKFOwC/mXKzhVSGPACQTAKOSQCPSgKOSQfq3dH////9/Pv+/v7+/v7///////////////// + ///////////////////////////////+/v79/Pv///+wgU6HPgCQSwKOSQCPSgGMRgCMRwCPSgCOSQCQ + TAKGPADAmnH////9/Pr+/v7////////////////////////////////////////////////////+/v7+ + /v79/Pz+/v3u5NuPSwmNRwGOSQCPSgCPSwGPSgGPSQCPSgGLRACYWRn38u79/fz9/fz///7+/v7///// + ///////////////////////////////////////////////////+/v79/Pv////HpoKFOwCQTQOOSQCP + SgCPSgCOSQCQTAOGPQDVvaP////9/Pv+/v7+/v7///////////////////////////////////////// + ///////////////+/v7////9/f39/fz7+fefZSiIQACOSQCNRwCNRwCOSQCGPQCrd0H+///9/fz+/v7/ + ///////////////////////////////////////////////////////////////////+/v7+/v79/Pv/ + ///fzLmSTxWXWBWWVhSWVhSWVhSWVRrq3dH////9/Pz+/v7+/v7///////////////////////////// + ///////////////////////////////////////////+/v7+/v7////38+728e328e328e328Oz49fD/ + ///+/v7+/v7///////////////////////////////////////////////////////////////////// + ///////+/v7////////+/v3////////////////////////+/v3////////+/v7///////////////// + ///////////////////////////////////////////////////////////+/v7////+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7////+/v7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACgAAAAwAAAAYAAAAAEAGAAAAAAAgBwAAAAAAAAAAAAAAAAAAAAAAAD///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7////+/v7+/v7///////// + ///////////////////////////////////////////////////////////////////////////////+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////// + /////////v7+/v7///////////////////////////////////////////////////////////////// + ///////////////////////////+/v7////////+/v7///////////////////////////////////// + ///38u38+vn8+vj8+vj8+vj8+vj8+vj8+vj7+ff////+/v3+/v7+/v7+/v7///////////////////// + ///////////////////////////////////////////////////////////////+/v7+/v7+/v7////7 + +ff8+vj8+vj8+vj8+vj8+vj8+vj7+ff59fK7kmmbXh+cXyCcXyCcXyCcXyCbXyCdYSGWVR3Fon3////9 + /Pz+/v7///////////////////////////////////////////////////////////////////////// + ///////+/v7+/v79/f39/fz///+1iFqXVx2cYCGcXyCcXyCcXyCcXyCbXiCcYCPn2Mv7+fencTqDOACM + RgCLRACLRACLRACLRACKQwCMRQLq3tL////9/Pz+/v7///////////////////////////////////// + ///////////////////////////////////////////+/v79/Pz////Zw6uGOwCMRQCLRACLRACLRACL + QwCNRwCCNQC4jmH////////r39SNRwWOSgOOSgGPSgGPSgGPSgGQTAOIPwCpdD3////9/fz9/f3////+ + /v7////////////////////////////////////////////////////////////////+/v7+/v79/f3+ + /f359vOZWxyLRACQSwKPSgGPSgGPSgGPSgGMRQKXWBn49PD+/fz8+vn////BnHWFOgCQTAGOSQCPSgCP + SgCOSQCPTAKFOwDVvaT////9/Pv+/v7///////////////////////////////////////////////// + ///////////////////////+/v79/Pv////BnXaEOgCQTAKOSQCPSgCPSgCOSQCPSwGGOwDVvKL////8 + +/r9/Pz9/f349fKZXB2KQwCPSgGOSQCOSQCOSQCPSgGLRAGXWBj38+/+/f39/f3+/v7+/v7///////// + /////////////////////////////////////////////////v7+/v79/fz+/v7r39SMRwWNSAGOSQCO + SQCOSgCOSQCPSwGHPgCpdT7////9/Pz+/f3+/v79/Pv////YwquGPACPSwGOSQCPSgCPSgCOSQCQTAGF + OgC+l23////9/fz+/v7////+/v7////////////////////////////////////////////////+/v7+ + ///9/f39/Pv///+qdkGHPQCPSwGOSQCPSgCPSgCOSQCOSAGLRALp3dH////9/Pv+/v7+/v7+/f39/fz/ + //+se0aHPgCQTAKOSQCPSgCPSgCOSQCOSQKLRALn2s3//v79/Pz+/v7///////////////////////// + ///////////////////+/v7+/v7////+/v78+vn////Rt5qGPACQSwKOSQCPSgCPSgCOSQCQTAKFOwC/ + mXL////9/Pz+/v7////////+/v79/fz///7s4deNSAeNSAGOSQCOSQCOSQCOSQCQSwKHPgCnczv+/v79 + /Pz9/f3+/v7+/v7////////////////////////////+/v7+/v7////////9/f38+/r////j08KNSQiN + RgGOSgCOSQCOSQCOSQCPSgCLRACYWhv48/D+/f39/f3+/v7+/v7+/v7////+/v79/Pz////Dn3qFOgCQ + TAGOSQCPSgCPSgCOSQCQSwGGPADSuJ3////9/Pz+/v7////////////////////////+/v7+/v7///// + ///+/v79/Pv////////cx7KPTA2LRQCPSgCOSQCPSgCPSgCOSQCPSwGGPADWvqb////9/Pz+/v7///// + ///////////+/v79/f3+/f359/SbXiCKQgCPSgGOSQCOSQCOSQCPSgCLRQCVVBT18Oz+/f39/fz+/v7+ + /v7////+/v7+/v7+/v7+/v7+/f39/Pz9/Pv////////49PC/mHSKQgCMRQCPSgCOSQCPSgCPSgCOSQCQ + TAKGPQCreEL////9/Pz9/f3+/v7+/v7////////////////+/v79/Pv////axK6FPACPSwKOSQCPSgCP + SgCOSQCQTAKEOQC8lGn////9/Pv+/v7////////////////////////////////////49fLQs5ibXyWH + PgCPSwKQTQOQSwKQTAOQTAKQTAKPSwOOSgOMRQPq3tP////9/Pz+/v7////////////////////+/v7/ + ///+/v39/Pz///+vf0uHPgCQSwGOSQCOSgCPSgCOSQCOSQGLRAHm18n////9/fz+/v7////+/v36+Pb5 + 9fLz7ejo2s3RtpuwgFCNRwN9LQCCNQCHPgCGOwCFOwCGOwCGOwCGOwCFOwCGPAB/MADCnnj////9/Pz+ + /v7////+/v7////////////////////+/v7+/v79/fz///7v5t6PSgiNRwGOSQCPSgCOSQCOSQCPSwGJ + QAClbjX+/f39/f39/f3//v769/XfzbjZw67QtJrEoX67kmq6kGa/mXLDn3rEoHzEoHvEoHvEoHvEoHvE + oHvEoHvDoHvDnnvEoH369/X+/v79/f3+/v7+/v7////////////////////////////////+/v79/Pv/ + ///GpICFOgCQTAKOSQCPSgCPSgCOSQCQTAKGPADQtJf////9/Pz+/v7///////////////////////// + ///////////////////////////////////////////////////////+/v7+//////////////////// + ///////////////////+/v7+/v79/f3+/f36+PadYiSKQwCPSgCOSQCOSQCOSQCPSgGMRgGUVBP07uj+ + /v39/fz+/v7+/v7+/v3+/f39/fz9/Pv7+vj+/f3cyLSXVyGcYCKcXyCcXyCcXyCcXyCdYSKUUxzDn3z9 + /Pz9/Pz9/f3////+/v7////////////////////////////////////////+/v79/Pz////cx7KHPwCP + SgGOSQCPSgCPSgCOSQCQTAKGPAC5kGP////9/Pv+/v7//v7+/v7+/v7+/v79/f39/fz7+feeYyaGPACL + RQCLRACLRACLRACLRACIQACQTAnw59/+/v79/f3+/v7+/v7///////////////////////////////// + ///////+/v7///79/f39/Pv///+xglCGPACQSwGOSQCPSgCOSQCOSQCOSQGKQgDk1MT////9/fz+/v7/ + ///////+/v79/Pz////HpoOFOgCQTAKOSgCPSgGPSgGOSgGQTAKFOwDPs5b////9/Pv+/v7///////// + ///////////////////////////////////////////+/v/+/v79/Pz+/v7w59+PSgiMRgGOSgCPSgCP + SgCOSQCPSwGIQACiajD+/f39/f39/f3///7+/v79/fz+/v7w6OCPSgmNRwGOSQCOSQCOSQCOSQCPSwKI + PwCiaS79/fz9/fz9/f3+/v7+/v7///////////////////////////////////////////////////7/ + ///+/v79/Pv////Ip4WFOgCQTAKOSQCPSgCPSgCOSQCQTAKEOQDOsZP////9/Pv+/v7+/v79/Pv///+x + glGFOwCQTAKOSQCPSgCPSgCOSQCOSgKIQADj08L////9/Pz+/v7///////////////////////////// + ///////////////////////////////+/v7+/v79/f39/f38+vmeZCeJQQCPSwGOSQCOSQCOSQCPSgGM + RQGRTw7z7ef+/v39/f39/Pz////fzLiHPQCPSgGOSQCPSgCPSgCOSQCQTAGFOwC4jF/////9/fz+/v7+ + /v7+/v7////////////////////////////////////////////////////////////////+/v79/fz/ + ///fzLqHPgCOSgGOSQCPSgCPSgCOSQCQTAGFPAC3jF7////9/Pz+/f38+vifZCiJQQCPSwGOSQCOSQCP + SgCOSgGLRQGTURDz7ef+/v39/f3+/v7///////////////////////////////////////////////// + ///////////////////+/v7////+/v79/Pv///+zhVWFOwCQTAKOSQCPSgCPSgCOSQCOSgKJQQDi0cH+ + /v7////JqYeFOgCQTAKOSQCPSgCPSgCOSQCQTAKEOgDNsJH////9/Pv+/v7////+/v7///////////// + ///////////////////////////////////////////////////////+/v7+/v79/fz+/v3w6eGRTQyN + RwGOSQCOSQCOSQCOSQCPSwKJQQChaC7////x6eKRTgyNRgGPSgCPSgCOSQCOSQCPSwGJQQCiajD8+/r9 + /fz9/f3+/v7+/v7///////////////////////////////////////////////////////////////// + ///////////////+/v79/Pz////LrIuFPACQTAGOSQCPSgCPSgCOSQCQSwGFOwDPspW5j2SGPACQSwGO + SQCPSgCPSgCOSQCOSgGJQgDj0sL////9/Pz+/v7///////////////////////////////////////// + ///////////////////////////////////////////+/v7+/v79/f39/fz9/PygZyuJQACPSwGOSQCO + SQCOSQCOSQCOSACOSACNSACOSQCOSQCPSgCPSgCOSQCQTAKFOwC3i13////9/Pv+/v7////+/v7///// + //////////////////////////////////////////////////////////////////////////////// + ///+/v79/Pv////hz72JQACPSwKOSQCPSgCPSgCOSQCPSgCOSQCOSQCPSgCOSQCOSQCOSQCOSQCMRgGS + UA/y6+X+/v39/fz+/v7+/v7///////////////////////////////////////////////////////// + ///////////////////////////////+/v7////+/v79/fz///+1iVuGPACQSwGOSQCPSgCPSgCOSQCP + SgCPSgCOSQCPSgCPSgCOSQCQTAGFOgDNrpD////9/Pz+/v7///////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7+/v79/f3+ + /v3y6+SSUA6MRQGOSgCOSQCOSQCPSgCPSgCPSgCPSgCOSQCOSQCPSwGIQAChaS78+/r9/Pz9/f3+/v7+ + /v7///////////////////////////////////////////////////////////////////////////// + ///////////////////////////+/v79/Pv////NsJGFOwCQSwGOSQCPSgCPSgCPSgCPSgCOSQCPSgCO + SQCOSQGJQQDi0cD////9/Pv+/v7///////////////////////////////////////////////////// + ///////////////////////////////////////////////////////+/v7+/v79/f39/Pz8+/qiai+J + QACRTQSPSwKQSwKQSwKQSwKQSwKPSwKRTgSGPAC2iVr////9/Pv+/f3////+/v7///////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////+/v79/Pv////j08KGPQCHPQCHPgCIPgCIPgCIPgCIPgCHPwCFOgCRTgvy6uP+/f39 + /fz+/v7+/v7///////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////+/v7////+/v79/f3////JqIeufFOzhVezhFaz + hFazhFayhFazhVete1TWvqb////9/fz+/v7///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/v7+/v7+/v3////////////////////////////////////////+/v3+/v7+/v7+/v7///////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////+/v7+/f3+/f3+/fz+/fz+/fz+/fz+/fz+/fz+ + /f3+/f3///////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAgAAAAAABAAABABgAAAAAAADIAAAAAAAAAAAAAAAA + AAAAAAAA//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////v7+/v7+//////////////////////////////////////////////////////////// + /////////////////////////////////////////fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v39/v7+/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////v7+/////v7+/f38/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/////v7+ + /f39//////////////////////////////////////////////////////////////////////////// + ////////////////////////2MCn3Maw3Maw3Maw3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew + 3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Maw3Mex2cOs8uvk/v7+/f39/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+/f39////4tHA2sSs3Mex3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew + 3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mex3Mew3Mex2cKr9vHtqXQ9ikIAiUEAiUEAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAiUEAikMAgzgAq3hH/v39 + /fz8/v79/v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7+/fz8////49PCiUIBiUEAiUEA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAiUIAiUEAi0MAgzkA + nmMq+vj1/v39sYJUhz4AkU0Ej0oBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0oBj0oBkEwDhz0A1buh/////fz7/v7+/v7+/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v39/Pz8/Pr5pGw1iEAAkE0Dj0oBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sBj0sDjEYG49LC////////7OLWkU4PjEYBj0oBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAj0sBikQAmFod9fDq/v39/v39/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////7+/v7+/v7+/v7+/Pv6////za+QhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChjsAuo9l////+/n4+ff1//// + x6aFhDsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAkEwChTwAv5dw/////Pz7/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/f38/v798evik1IV + i0UBj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkoA + j0oBi0QBlVQX8+zl/f39/fz8/fz8/fz8+vbzoGYuiEAAj0sBjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjkoAjkkAjUkBjEgG6NvN/////fz8/v7+/v7+/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////7+/f7+/v7+/fz7////topehjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sChTwA0LWY/////Pv7/v7+/v///Pz7////3sq3iEABjkoC + jkkAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEsC + hz8Ap3I//fz7/fz8/v79/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v39/v///Pz7////3867iEAAjkoCjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEsChz8ApnE5/fz8/Pz7 + /v7+/v7+/v7+/v7+/Pv7////tIZYhjwAkEwBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0sChTwA0rec/////Pz7/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/v79/fz8 + +/r4oWgwiEAAj0sBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + j0kAjkkAjkoAjkkBikQF5dbG/////fz7/v7+/v7+/v7+/v7+/fz8/v7+8OffkU8QjEYBj0oAjkkAjkoA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAj0oBikMAllcb9O/p + /v39/f38/v7+/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/v7+/Pz7////yquLhTsAj0wCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChToAu5Nq/////Pz7//7+/v7+/v7+/v7+/v7+ + ///+/Pz7////y6yNhTsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAkEwBhTsAu5Rr/////Pz7/v7+/v7+/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz8/v7+7+bckU4PjEYBjkkBjkkA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjUkAj0oBi0QBllcb + 9e/p/v39/f38/v7+/v7+/////////v7+/v7+/v79/fz8+vj1oWgwiUEAj0sBjkgAjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkCi0QF5NXG/////fz8/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+//7+/f39 + /v7+/fz7////tIdZhjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkAj0sChj0A0rec/////Pz7/v7+/v7+/////v7+/v7+/////v7+/v7+/Pz7//// + 38y4ikIDj0oCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0sBhz8Ap3I8/Pv5/fz8/v39/v79/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////v7+/v7+/Pz7////3sm2iUIBj0oBjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEsCiD8AqHM+/fz7/Pz8/v7+/v7+/v7+ + /v7+/////////v7+/v7+/v7+/v7+/Pv7////topehTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAkEsChjwA0bWa/////Pv6/v7+/f39/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/f39/fz8+vj2n2UriUEA + j0sBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkoA + jkgBjEYG5tjJ/v7+/f37/v7+/v7+/////////////////////////v7+/v7+/f39/v398uriklETi0YB + j0oAjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oB + i0UAlVYZ8+3m/f79/f38/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/v7+/Pv6////yKeFhTsAkEwCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChjwAvpZv/////Pz7/v/+/v7+/v7+/v7+//////////////// + /v7+/v7+/v7+/v7+/Pz7////za6QhTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTwAuZBm/////Pv6/v7+/v7+/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v79/v7+/fz7/v7+7ePYkU4QjEcBjkkBjkkAj0oAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0QBmFof9e/p/f39/v39 + /v7+/v7+/////////////////////////////////v7+/v7+/v7+/fz8+/n3o2s1iUEAkEsBjkkAjkkA + jkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAjkkCikQD5NPD + /////Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v79/Pv7/v/+ + sIFShjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAj0sChj0A1Lqg/////Pz7/v/+/v7+/////v7+/////////////////////////v7+/////v7+ + /v7+/fz7////4tHBikMEjkkCjkoAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0sBiEAApW43/Pv5/fz7/v39/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/////Pv6////2sawiD8Aj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEsChz8AqnhE/v79/Pz7/v7+/v7+/v7+/v7+//////// + /////////////////////////v7+/v7+/v7+/v7//fz7////uI1hhj0AkEwCjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0wChj0AzrCT/////Pv6/v7+ + /f39/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/v7+/f38/f389vLtm18jikMAj0oBjkkAjkkA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkoAjUgBjUgH6NzO + /v7+/fz8/v/+/v7+/////////////////////////////////////////////////v7+/v7+/f38/v39 + 8uvjlFUWi0UBj0oBjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0oAjkkAj0oBjEYBlFMW8enh/v79/fz7/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7//v7+//7+/f39 + /Pv6////t4thhjwAj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAkEwChTsAwJp0/////fz6/v7+/v7+/v7+/v7+//////////////////////////// + /////////////v7+/////v7+/v7//Pv7////zrGUhjwAj0wCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwChjwAt4xg/////Pv7/v7+/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7//v3+/Pr6////0bWYhj0Aj0sCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkkAjkkAj0sBi0MAmVsg9vHs/v39/f39/v7+/v7+//// + /////////////////////////////////////////////////v7+/v7+/v7+/v7+/f38/Pr4pW85iD8A + kEsCjUkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + jkoCikIC4tHA/////Pv7/v7+/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7++/r5////38y4i0UHjUgBjkoA + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0wC + hz4A1r6m/////Pz7/v7+/v7+/////v7+//////////////////////////////////////////////// + /////////v7+/v7+/fz8////49LCjEYFjkkCjkoAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBiEAAomoy+/n2/fz7/v39/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v7+/v7+ + /v7++/r5////5NTCj0wQi0UAj0oAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAkEwChz8ArHpI/v7+/fz7/f79/v7+/v7+/v7+//////////////////// + /////////////////////////////////////v7+/////v7+/v7+/Pz7////upBnhTwAkEwCjUgAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0wChToAyqyM + /////Pv6/v7+/v7+/////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/////v7+/v7+/v7+/f39/Pr5////4c+9kE0SikQAj0sBjkkAjkkAj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjUgCjkoJ6d3R/v7+/f38/v7+ + /v7+/////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v39/f399O3nl1gci0UBj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oAjkkAj0oAi0UBk1ET8Ofe/v39/fz7/v7+/v7+/////v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////////v7+//7+/v7+/Pv6/f38////1LuijkkLi0QA + j0sBjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChjwAwp14/////Pv6/v7//v7+/////v7+//////////////////////////////////////// + /////////////////////////////////v7+/v7+/Pv6////0baahj4AkEwCjkkAjkkAj0oAj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwBhTwAtYlc/////Pv6/v7+ + /v7+/v7+//////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/////v7+/v7+/v7+ + /v79+/v5////+/n1wJp1iEEAjUYAj0wBjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBikMAnWAn9/Lu/fz7/f39/v7+/v7+/v7+//////////// + /////////////////////////////////////////////////////////////v7+/v7+/v7+/v7+/Pz7 + /Pv5p3I9iD4AkEwCjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAj0oCiUEA3826/////Pv6/v7+/v7+/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/////////v7+/v7+/v79/Pv6/f3+////6dzPpW89hjwAj0oBj0oBjkkAjkkAj0oAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAj0sChz4A2MKq//// + /Pv6/v7+/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz7////5dbGi0UGjkkCjkoAjkkAj0kAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBiEAAoGct+vj1/fz7/v39/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/v7+/////////v7+/v7+/f39/fz7/fz8////+vj0xaOCjkkJhz8A + j0sBj0oAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAkEwChz0Arn1L/////Pv6/v7+/v7+/v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/////v39/v/+/Pv6////vZZuhjsA + kEwDjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUgA + j0wChDoAyKiI/////Pv6/v7+/v7+/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+///////////+/v7+/v7+/v79/Pv6 + /f38////////28ayn2cyhTwAjEcAj0sCjkkAj0oAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjUcCjkoK69/U/v7//fz7/v7+/v7+/////v7+ + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/f39/f399fDrl1kci0UBj0sBjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkoAjEUAkU4P7+bc/v79/fz7/v7+/v7+/////v7+//////// + /////////////////////////////////////////////////////////v7+/////v7+/v7+/////v7+ + /////v7+/v7+/v7+/fz8/Pv6/v7+////////4M68qnhHiD8AiUEAj0sCj0oAjkkAjkkAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkE0DhjwA + xaJ//////Pv7/////v7+/v7+/v7+//////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/Pv6////07qghz4Aj0wDjkkAjkkA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwBhjwAsoRU + /v///Pv6/v7+/v7+/v7+/////////////////////////////v7+/////v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+///+/v7+/v7+/////v7+/v7+/v79/fz8/Pv6/fz8////////+/n32sSvqnZHikIAhz8AjkoA + j0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjUkAj0sCikMAnmMp+PXx/f38/f39/v7+/v7+//////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/Pz7/f38qXVBiEAAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAj0oBiD8A3cm0/////Pv6/////f39/v7+/v7+//////////////////// + /////////////////////////////v7+/////v7+/v7+/v7+/v39/fz7/Pv6/fz7/f7+//////////// + 7OHWyaiHn2UviD8Ahz4AjkkAj0sCjkkAjkkAjkoAjkoAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wDiEAA28Wv/////Pz7/v/+/v7+ + /////v7+//////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////v7+/v7+/fz7/v//6NrNjkkJjkkCj0kAjkkAjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBiUIAn2Ur+fb0/fz7/f39 + /v7+/v7+/////////////////////////v7+/v7+/v7+/v7+/f38/fv6/fz7/fz6/Pv6/fz8/fz8/v7/ + /////////////////Pz66dzPza6Qq3dGkE0Mhj0AikMAj0sCj0sCj0oAjkkAjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + kEwChz4AsIJS/v7//Pv7/v7+/v7+/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v7+/////Pv6 + ////v5lzhTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkgAkEwBhDoAxqSC/////Pv6/v7+/v79/v7+/v7+/////////////////v7+/////v7+/v7+ + /////////////////////////////v788+3l5NTE07icuY5moWgvj0sIhz4AiUIAj0oAkE0FkU0Dj0sC + kEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsB + kEsBkEsBkEsBkEsBkEsBkEsBj0sBkEwCjEgBkE4O7eTa/v7+/fz8/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/f38/f389vHsmVsgikMBj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAjEYBkEwN7ePY/v7+/fz7/v7+/f39//// + /v7+/////////////v7+/v7+/f38/v//28ayxqSAy6uKxKF6vJNssoReqHNEmVwlkEwKhjwAgTQAgDQA + hDoAiEAAikMAiUIAiEEAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAA + iEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiUIAgjYAx6WD/////Pv6 + /v7+/v7+/////v7+//////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/////v7+/v7+/Pv7////1r2khz4A + j0sCjkkAjUkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + kEwBhjwAsYFR/////fz7/v79/v7+/v7+/////////////////v7+/v7+/v39/v7+4M27za+O0bWW0LOU + z7OV0LOZ0bac07mg1ryk2MCo2cKr2cKs2MGq2MCp18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co + 18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co + 18Co18Co2MCo1r+n2MGq+vf0/v39/v79/v7+/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/v7+/Pv6/v39rHpIhz4Aj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0oBiUEA3May/////Pv6/////f39/v7+/v7+//////// + /v7+/////v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7//v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz7/v7+6d3RjUkJjUgBj0oAjkkA + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBikIAnWIn + +PXx/fz8/f39///+/v7+/////////////////v7+/////////v39/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz8/fz7+/n3+/n3+/n3+/n3+/n3+/n3 + +/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3/Pr4/fz7/fz8 + /fz8/v7+/////v7+/////v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v7+/Pv7////wZx2hDsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAkE0ChjwAxKF8/////Pv6/v7+/v7+/v7+/v7+/////v7+/////v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v///v7+/////v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/f39/f389/Ltm14iiUIAj0oBjkkAjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkoAjUgCkE0N7OHW/v7+/f38 + /v7+/v7+/////v7+//////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/f79/f39+vj20LSYzrCSz7GUzrGTz7GTz7GTz7GTz7GTz7GTz7GT + z7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTzrGTzrGTza+S0LSY+vj1/v7+/v79/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v7//Pz7 + ////2cKriD8Aj0sCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAkEwChz8Ar35O/v7+/fz8/v7+/v7+/v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/v7+/fz7////yaiIgDMAhz0A + hTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhjsAhTsAhDsAhz4A + fS0AtIdb/f38/Pz8///+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+/v7+/fz7/v//rn1Khz0Aj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sCiEAA2MGq/////Pz7/v///v7+/v7+ + /v7+/////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v7+/f38/v797+bdkU8PjUkDkU4Fj0wDkEwDkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0D + kE0DkE0DkE0DkE0DkEwDkE0DkU4FjEcFmVwe9/Pu/v7+/v38/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7//fz7/v7+69/UjkoL + jUgBj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + j0sCikMAm18j+PXw/f39/f39/v7+/v7+/////v7+//////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/fz7////tIZYhj0AkEwCjkgAjkkAj0oAjkkAjkkA + jkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAj0oAjkkAjkkAj0sChj0A0rec/////Pv7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/////Pv6////xKF9hTsAkEwCjkkAjkkAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTsAw596/////Pz7/v7+/v7+/v7+//////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/fz7////3sq3 + iUIAjkoCj0kAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkA + jkkAj0wBiD8AqHM+/fz7/Pz7/v7+/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v3+/v39/fz8+PXxnWIpiUIAj0sBjkkA + jkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkoAjUgBjkoK + 6t7S/v7+/fz8/v7+/v7+/v7+/v7+//////////////////////////////////////////////////// + /////////v7+/v7+/f39/f38+vj1oGgviUEAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkgCjEYH5tjJ/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /v7+/v7+/Pv6////2cStiEAAj0oCjkkAjkkAj0kAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkgAkEwChz4ArHpH/f38/fz8/v7+/v7+/v7+//////////////////////// + /////////////////////////////////v7+/v7+/v7+/v7+/fz8////y6yNhTwAkEwCjkkAjkkAj0kA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTwAvZRs//// + /Pv7/////v7+/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/v7+/Pv7/v7+r4FQhz0AkEwBjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkgAj0kAkEsChz4A17+n/////Pz7 + /v7+/v7+/v7+/v7+/////////////////////////////////////////////////////v7+/v7+/f38 + /v798enfklISjEYBj0oBjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAj0oBi0QAl1gb9O/p/fz8/v38/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/fz8 + /v7+7ePakE0NjEcBj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAj0sCikMBml0i9/Pu/f39/f39/v7+/v7+//////////////////////////////////// + /////////////v7+/v7+/v7+/v7+/Pz7////toldhj0AkEwCjkkAjkkAj0oAj0kAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjUkAjkkAj0sChTwA0baa/////Pv7/v7+/v7+/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+//7+/Pv6////x6SDhTsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjUgAjkkAkEwChTwAwZx1/////Pv7//7+/f39/v7+ + /v7+/////////////////////////////////////v7+/////v39/v7+/fz7////4M67ikICj0oCjkoA + jkgAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0sBiD8A + pnA8/Pv6/fz7/v7+/v7+/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v79/fz8+fbznmMq + iEEAj0sBj0kAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + jkoAjUkCjUgI59rM/////fz8//7+/f39/////v7+/////////////////////////////////////v7+ + /v7+/v39/f38+vj1oWgwiUEAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0kAjkkAj0kAjkkCi0QG5dXF/////fz7/v7//v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////v7+/v///Pz7////3cm1iEAAjkoCjkkAjUgAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChz8AqndD/fz7/fz7/v7+/v7+/v7+//////////// + /////////////////////v7+/v7+/v79/v7+/Pz7////y6uMhTwAkEwCjkkAjkkAjkoAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTsAu5Fn/////Pz7/v7//v7+ + //7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7+/Pz7////s4RVhjwAkEwCjkgA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkkAj0wChz4A + 1bui/////Pz7/v7+/f3+/v7+/v7+/////////////////////v7+/////f39/v7+/f38/v398Ojfk1ES + jUYBj0oBjkkAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + j0oBi0UBllYa8+zl/fz9/v38/v7+/v7+/v////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7//f38/v797+XckE0OjEYAj0oAjUgAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAj0sBi0QBmVoe9vHr/f39/f39///+/f39/////v7+//////////////// + /////v7+/v7+/v7+/Pz7////tYldhj0AkEwCjkkAjkkAj0oAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0oAjUkAjkkAj0wChTsA0bWZ/////Pv6/v7+/v7+/v7+//7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/v7+/Pz7////yKiGhDoAkEwDjkkAjkkAj0oAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkgAjkkAkEwChjwAv5dw/////Pv6 + /v7+/v7+/v7+/////////////////v7+/v7+/v7+///+/fz7////4dC/ikMDj0oCjkkAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wCiD8ApW85/Pv5/fz7 + /v79/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/v39 + /fz8+/j1oGYtiUEAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAjkoAjkkCjEcG5tjK/////fv7//7+/v7+/v7+//7+/////////////v79/v7+/f39/fz8 + +/r4o2oziUAAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0oAjkkCi0UF5NTE/////fz8/v7+/v7+/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////v7+/v7+/fz7////3su4iUEBj0sCjkkAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEwChz8AqHRA/f38/fz7/f39/v7+/v7+ + /v///////v7+/v7+/v7+/v/+/Pv7////za+RhTwAkEwCjkkAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkE0ChjwAu5Jo/////Pz7/v7+/v7+/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/fz7////tIdZ + hjwAkEwCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + jkkAj0wChjwA0rec/////Pv6/v7+/f7+//7+/v7+/////v7+/v7+/f38/v7+8erilFITjEYBj0oBjkkA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0UAl1YZ + 8+3m/f39/f39/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/fz8/v398Offk1ISjEcBj0oAjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBi0QBl1ga9O7n/f38/f39/v7+/v7+/////v7+/v7+ + /v7+/Pv6////t4tfhjwAkEwCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0oAjkkAjkkAkEwChz4A0LWZ/////Pz7/v7//v7+/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+/v7+/Pv7////zK2Ohj0AkEwDjkkA + jkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkgAkEwChjwA + u5Nq/////Pv6/v7+/v7+/v7+/v7+/v7+/Pz7////4dC+ikMCj0oCjkkAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wCiEAAp3E7/Pv5/fz7/v79/v7//v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/////v7+/fz7+/j2o2sziUEAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkAjkkAjkoAjkkCjEcG5dbH/////Pz7/v7+/v7+/v7+/v39/fz8+/n3pG00iUEA + j0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0kA + jkkCikQE49PC/v7//fz8/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////4c+9iUICj0oCj0kAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBiEAAp3E7/Pv5/fz8 + /v79/v7+/v7+/Pv6////zK+Qhj0AkEwCjkkAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkgAkE0ChTwAuY9j/////Pv6/v7+/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/v7+/v7+ + /Pv6////t4xghjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAjkkAkEwChj4Az7OX/////Pv7/v7+/f38/f398erilFQVi0YBj0oBjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0UBlVUW8+zl/v39/f39 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/f38/v7+8+zllFQVi0UBj0oAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0sBi0UAlVUX8uzk/v39/fz8/Pz7//// + t4xhhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oA + jkgAjkkAj0wChjwA0LOX/////fz7/////v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v///fv7////zrGU + hjwAj0wCjkkAjUkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChTwAuI5k////+/r5////4tHAiUIDjkoCj0oAjUkAjkoAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0wCiUAApW84/Pv6/f38/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v///v7+/f38+/r4pG02iEAAj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0kAjkoCikMD4tC//v79+vj1pG02hz8AkEsBjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkkCi0QF49TD + /////fz8//7//v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/////fz8////49TEi0UFjkkCj0oA + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBiEAA + oWkx////zrGThTsAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkgAkEwChj0AupBl/////fz8/v///v7+/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/v/+/fz8////uZBkhj0AkE0CjkgAjUkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAjkkAjkkAj0sAiEAAwZ12m18iikIAj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjEYBlVYX8uzl/v79/v39/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/f39/v398+zmllYXjEYBj0oBjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAjkkAjkkAikMAjEYAjkkA + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjkgAjkkAkEwC + hj0Az7SX/////fz7//7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//7+ + /fz7////0bWZhz0Aj0wCjkkAjUgAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0oBjkoAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAjkkAjkkAj0wCiEAApW86/Pv5/fz8/v7+//7+/v7+//7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+//7+/v7+/fz8/fz7p3I+iD8Aj0wCjkkAjkkAjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAjkkAj0kCikQF49PD/////Pz8//7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+//7+/fz8////5dbH + jEYHjkoCj0oAjkkAj0kAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oA + jkkAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChj0AuI1i/////fv8/v/+/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/v7+/v///fz7////vJRqhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oBjEUBlFQW8uri/v7+/f39/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/f39/f399O7ol1kci0QBj0sB + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjUgAjkkAj0wChj0AzbCT//// + /Pz8/v7//v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/Pz7////07mfhj0Aj0wCjkkAjUgAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjkkAjkkAkEwCiEAAomw0/Pr4/f39/v7+/v7+/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////v7+/v7+/fz8/fz8qHNAhz8AkEwCjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkkCiUIC4dC+/////fz7/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz8////5tjJi0YFjUgCj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAkEwChTwA + t4tf/////fz7/v7+/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/v7+/fz7////vZZuhTsAkE0CjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0oBi0YBlFMT8eri/v7+/f38/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v39/f399vHs + mVseikQAkEsBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkgAjkkAkEwChj0Aza+Q/////Pv6/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/Pz7////1Luhhz4AkEwCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + j0sAiEAAo2w0/Pr4/fz8/f39/v7+/v7+/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/v7+/v79/fz7/f38qndDhz8AkEsB + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAjkkAjkkAjkkBi0QD4c+9/////Pz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/fz7/v7+6NvNjUkIjUgBj0kAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwBhTsAt4xf/////Pv6 + /v7+/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/Pv6////wZt2hTsAkEwBjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0oAi0UAlFIT8eri/v39/fz8/v7+/f39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/v7+ + /f38/fz89vHtmVsfikMAj0sAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEsChDoAy6uN/////Pv6/v7+/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/f3+/v7+/Pv7////1r6lhj0Aj0oBjkkAjUkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sAiEAAoWkx + +/n3/fz8/f39/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v39/fz7/v7+ + rXtJhj0AkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oBjkkAj0oBjkoCiEEA4M68/////fz7/v7+/v39/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////f39/v7+/fz7/v7+69/SjkgJi0UAjkgAjUcAjUgAjUgAjUgAjUgAjUgAjUgAjUgA + jUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUcAjUcAjkoAhDkAtYlb/////Pz6/f7+/v7+/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/v39/v7+/Pz7////xKF9jEcSlVQW + k1IUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUk1IUlFMV + kU8TmVoj8ejg/v39/fz7/v7//f39/v////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v///f39/f38/Pv67+bd8Ofe8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off + 8Off8Off8Off8Off8Off8Off8Off8Off7uXd9O7o/////f39/v7+/v7+/v7+//7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v////7+/v7+/v7+/v7+//////////////////////// + /////////////////////////////////////////////////////////////////////////v39/v7+ + ///+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////7+/v////// + /////v7+/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v79/////////v7+/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/////v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAEAAAACAAABABgAAAAAAAAgAwAAAAAAAAAAAAAA + AAAAAAAA//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v79/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////9/Lt9/Pu + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Pt/v7+/v79/v7+/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v79/v799/Ls9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Pt9/Lt/v39pm80omkso2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2svnmMrzrGR/////fz7//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/fz8//// + 1bygnGAqo2svo2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2svnWEruY9i/fz8wJpwkUwEiUIAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0UAiUAAlVQT7uTZ + /v39/fz8/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f38/v7+9O3nmFkViD8Ai0UAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAikMAi0MA3sq1/v7+/fz8wJhviD8AkU0Fj0sCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkU0EiD8AuItb/////f38/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7////vZNniD8AkU0EkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCj0sCkU4EiUAAuY9h + /////Pn4/v7+9e/pnF8ei0UAj0oBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0MA3cix/////fz7//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////Pz7////49G/j0oHjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEYBl1cU8urj/v39/fv6+vf0//// + 1LqfikIAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoAj0sBikIAoWcq9vLt/fz7/v39/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /f38+/n3p3A0iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEAzrCQ/////fz7/v7+/fz7/fz7+/n3q3hBiUAAkEsC + j0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiEAAyKaB/////fz7/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/Pz7////z7GRiUEAkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oBikIApnA0/fz7/v39/v7+/////////f38////6NrMkEwHjUgBjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoA + jUgBlFIO7uTa/////f38//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz8/v398OfellYTjEYBj0oBj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgB + jUYA4tG+/////fz7/////v7+/v7+/////fz8////wJpvhz4Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsCiD8As4RR/fz7 + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v38////uY9ghz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8Au5Fk/////f38/v7+ + /v7+/////////v7+/fz8/v389e/pnmMmi0MBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCi0QB3Mav/////fz8/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/Pz8////4tG+jUgCjkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0UAmFkW9e/o/v7+/f38//////////////////// + /////fv6////17+miUEAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikMAoWgp+vfz/v7+/v79//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f39/fz8+/j2pW4z + iUAAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAj0oBiUEA0ria/////fz8/v7+/v7+/////////////////v7+/v39/v39/v/+ + sH9LiEAAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoAj0sCiD4Ax6Z//////fv6/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////7+/v7//fz8////yqqHiD8Aj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0sCiUIAqXU7/fz7/v39/v39/////////////////////////////v7+/fz7/v7+6t3PkU4NjkgCjkoB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0oAjUcBkU0N7ODU/////f39/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v///f38/v7+7+bdlVMOjEYBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkBjUgB5dXG//// + /f38/////v7+//////////////////////////////7//fz7////w551iD4AkEwCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sB + hz4Ar35J/v39/fz8/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v39/fz7////tolYhz4Aj0sDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBiEAAvZZq/////f37/v7+/v7+//////// + /////////////////////v7+/////f39/v7+9vHsnmMki0QAj0sAj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oCi0QB2cKo//// + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz8//// + 3su3jUcDjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBmlsZ9O7n/v79/f38//////////////////////////////// + /////////v7+/v7+/fz6////2cGpikIBj0oDjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBi0MAn2Qn+PTw/v79/f38/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f39/fz8+vf0omosiUEAj0oBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sCiD8A0reZ/////fz7/////v7+//////////////////////////////////////////// + /v7+/fz7/Pv6sH9KiD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0Aw594/////fz7//7///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/Pz7////yqmGiUAAj0sCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUEAq3hA + /Pz6/f38/v39//7+/////////////////////////////////////////////v7+/////f37////7OLW + k1EOjUcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoBjUcCklAO6t7Q/v7+/fz7/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////f39//7/7ePYk1ENjUcAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUcBj0sG6NrL/////fz8/v///v7+ + /////////////////////////////////////////////////v7+/v7+/fz7////xqR+hz4Aj0sCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEsBiUEAsIFN/v79/v39/v3+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v79 + /Pz7/v7+s4RQiEAAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBhz4AwZty/////fz8/v7///7+//////////////////// + /////////////////////////////////////v7//v39/v399/PuoWgrikIAj0oBj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iEAA176j/////fz7//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/fz8////2sSti0QBjkoC + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0kAj0sBi0QAm14d9vHr/v79/f39//////////////////////////////////////////// + ///////////////////////+/////fz8////3MawikMBj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCi0QBnGAi9O7n/v38 + /fz8/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////f39/v39+fbzoGcoikIAj0sBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iUEA1buf/////fz8/v7+/v7+//////////////////////////////////////////////////////// + /////////v7+/f79/fz8/f39soNPhz4Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz0AwZxz/////f38/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/Pz7////x6V/iD8AkEwBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wBiEAArHpD/v7+/v38/v7+ + /////////////////////////////////////////////////////////////////////////////v7+ + /f38/v7+69/SlFIPjUcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkgBkEwG6dvN/////fz8//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////Pz7/v397ODUlFMRjUcCj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBkE0I6NvM//7+/fz8/////v7+//////////// + /////////////////////////////////////////////////////////////////////fz7////yKaB + hz0AkEwDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sCiUEArXtG/Pv5/fz7/v39/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v///f38////sH9K + hz8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0wChz8AwJlv/////f38/v7+/v7+//////////////////////////////// + /////////////////////////////////////////////v7+/v7+/f39/f389/Puomgti0MAj0sCj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0sDiD8A1r2i/////fz7/////v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/f38////18ClikMAj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0oBi0QAnmIj9vHs/v39/v39//////////////////////////////////////////////////////// + /////////////////////////////////////v7+/fz8////3sq0jEYAjkoCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAi0UA + nWAf9vHs/v7+/v79//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/f38/f389vHsn2Qli0QBj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCikIA2MGo//// + /fz7/////v7+//////////////////////////////////////////////////////////////////// + /////////////////////////////fz8////tYhWhz4Aj0wBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiD8AwJpw/v7+/fz7 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////+/////fz7////xKF6hz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wBiEAAsH9L/////f38/v79/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////fz7/v797uXblVQVjEYBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkCjkkG59jJ/////f38/////v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v///f38//// + 6t3PkU4IjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgBkU4J6t7Q/v7+/fz8//////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz7////yqqGiEAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUEAqnY9/Pr4/v39/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////+/v39/fz7/fz7r39KiUEAj0sCj0kA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEwChz0Aw553/////fz8/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f39/v79+/n3omor + ikEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkoAj0sCiEAA0raY/////fz6/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7//fz7////1ryiiUIAj0oCjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikMBnmMm + +PTw/v39/f39//////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz7////38u2i0QEjkoDjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0kAj0sBjEUAmVwb9e/p/v7+/f38//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////f38/v7+9vHsnF8eikMAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA2MCl/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/fz8/v7+t4pZiD8AkEwCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz4A + vpVq/////fz7/v/+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /Pz7////wJpwhz0Aj0wDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAAr39J/v7+/v39/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////f39////8urillcTjEYAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUgCjkgE5dXE/////fz7 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////fz8////59nLkEsHjUgB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoBjEcBk1AN7OLW/v///fz7//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/Pz7////za6OiEAAj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBiUEAqnY8/f38/v39/v3+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////f39/fz8/fz7rHlCiUEAkEsBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iD8AyKaB/////fz7/v///v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v79 + /fz7+fXypW0xiUEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEA0bWX/////fz8/////v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/fz7////z7OTikIAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBikMAn2Yl+vf0/v7+/f39 + //7///////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/////fz7////4tG+jEYC + jkoBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oBjEUCl1gY8+vk/v79/fz7//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////f38////7eLWlFEOjEcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkoBi0QA28av/////fz7/v7//v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v79/fz7/v7+uY5fiEAAj0wCjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEsCiD8Auo9h/////fz8/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v79/fz8+/r4rHlE + iUEAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBiD8As4RR/f39/v39/v7+///+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7//f38/v7+7+fdl1cUjEYBjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBjkgB + 4tC+/////f38/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v///v7+/Pz7////wp51hz4Aj0sCj0kAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjUcBk1EN7+Xb/////f39/////v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////fz8////z7GRhz4Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAp3E4/Pv5/v38/v39 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+//7+/fz7////3ciwjEUAjkkBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0Ax6WA//// + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/f39/fz7+vj1qHI4iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAkEsCiD8Az7GR/////f38/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/////fv7////7OHUlVQWjEYBj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikMAomks+PPv/v39/v79//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/fz7 + ////5NPBj0oGjkgBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBjEYAl1gU8uri/v7+/fz8//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7//f38////8uvj + n2QoiUEAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCi0QB38u2/////fz7/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f38////u5Jlhz0A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBiD8AupBi/////fz8/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////fz8/v7/+PTvq3dAiD8AkEwBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0wCiEAAt4pa/v7+/f38/v79/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/fz8/v398erimVwcjEUBj0sBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkBjUgE4M66/////fz7/////v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/////fz8////+vj1rHpFiD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjUcBlVQR + 7+bd/v7+/f39//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/fz7////0LSUiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikIAo2sv + +/n4/v39/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v39////+/n2tYhXhz4Aj0wDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0AyquI/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/fz8/fz7qHM5iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4Ay6uJ/////fz7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+///+/v7+/fz7////+vf0 + rXtIikIAj0sDj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sBikIAo2wx+PXx/f38/f38/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////Pz7////4tLAjkgHjUgCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBllYS8Oje/v7+/f38//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////fv7////9/Puq3hChz4Aj0sBj0oAj0kA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkoBi0UA4M24/////fz7//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/Pz6 + ////vpZqiD4Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AuItc/////fz8/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////7+/////v7+/fz7////7+XaomoxiEAAkEwDj0oAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwC + hz4AtolZ/////fz8/v3+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////f39/v7+9vHsnGAdi0MA + j0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkCjEYB38y3/////fz8/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /v///v39/Pz7////38y3mFkciUAAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEYDllYX7+bc/v7+/f38 + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/fz7////1LqeiUEBj0sDjkoAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoA + j0sBikIApGww+vj1/v39/f39/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////////Pv6////////y6yJ + j0sEikMAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiD8Azq+O/////fz7//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v39/fz7/Pr5qnY9iD8Aj0wCj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AzK2M + /////Pz7/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/////v7+/fz7////8+zks4NTiUEAjUkAkEsCjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAkEsBiUEApnA0/fv6/v39/f79/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v///f38////5tjJkUwIjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYBlFIP7uTa/v7+/f38//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////v7+/fz7////////3Mixm14hiEAAj0sCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjkkCjkkG4c+7/////fz7/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //7+/v7+/fz7////v5lviD8Aj0sDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUAAtIZV/////v39/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+///+/v39 + /fz8////+PTvvpZujUgDikQAkEwDj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4AuI1d//// + /fz7/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////7+/f38/f38 + 9O7nm10ci0QAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA3ciy/////fz8/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////v7+/fz7////////28aunmImhz4A + jkkAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYAl1gW8+vk///+/f38/////v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7//Pz7////1LqdikIAj0sB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oBikMAoWgp+fby/f39/f39//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/////v7+/fz7/v//////8OjdtolbjEUAikMAkEwCj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAzrGR/////fz7/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v39/fz7/f38rn1HiD8Aj0sCj0kAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0sBiD8AyKiE/////fz8/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////f38////////+/j2y62LlVQSiD8AjkoBj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0oBiUEApW4z+vj1/v39/v39//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/Pz7/v7+6d3Qkk8LjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUcBkk8J7eTZ + /v7+/f38/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////v7+/f38/f39/////Pr4 + 2sSsomktiD8AjEcAkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjkkAjkgD + 49PB/////fz8/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f38////w552hz4Aj0wBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD4As4VS/////f39/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/////f38/v7+////////38y3qXU+iUEAikMAkEsCj0sB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4AvJNm/////fz7/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////f39/f389vHrnGAgikMAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBjEYA3Mex/////fz7/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////////v39/fz8/v7/////////4tC9rntHjUgCiUIAkEsCj0sBj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oBjEUBmVsZ9O7m/v7+/f38//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/Pz7//// + 2MCnikMAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0oAi0MAnmMj+ffz/v39/f38//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/v39/fv6//// + /////fz82MGnrXtIjUYAiUEAjkkAkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sCikEA0bWX/////fz7/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f39////r35IiUAAj0wC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiEAAxKF6/////fz8/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////v7+/f38/fz6/v7/////////8uvj0bWXomktjEUAiD4A + j0oBkEsBj0oAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsC + iUEAqHQ7+/j2/fz8/v39/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////fz7/v7+6NvNkEwIjUgBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jUgBkk8K7ODV/////fz7/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////v7+/v7+/v7+/v39/v39/////////f3859jKvZVqnF8hiD8Ai0QAj0oAkEwEj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgBjkkE5dXE/////fz7 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/Pz7////w551iD4Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAsIBL//// + /f38/v7+///+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////v7+/fz8/fz6//////// + ////////69/T0baYqndBjkgAiUAAi0QAkEwDj0sBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AvZRo/////fz7/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f39+vbzn2UlikMAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCi0QA2sOq/////fz7/v7//v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/v79/v38/v38/f38/v///////////v398Ojf0bWXsYBNlVUShz0A + ikIAjkkAkEwCj0sCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oBi0UBmlsc8eri/v39/fz8/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////Pz7////28avi0MBj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikMAnmIj+PXx/v39/f38///+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v79/f38 + /fz7/fz6/v7+/////////////////Pr55dXDyaqHr31Lkk8HikMAiUEAjUYAkEwDj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAj0oBiUEA1Lqd/////fv6//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/f79/fz7/f38 + sYJOiEAAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AxKB5/////fz8/v///v7+//////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////v7+/v39 + /v39/v39/v39/v39/v39/v38/v38/fz8/fz8/f38/f38/v38/v38/v39////////////////////9vDq + 6d3P0baYtIZVn2Unkk8HhjsAiUAAjkgAj0sBkEsCj0sBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUAArHpD/f38 + /v39/v39/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////fz8////7OHWkk8KjUcAjkoA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjUgBkU4J6NrM/////fz8//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////9O3l49PB1Lqew552soNRnmIhikIAikIAiUEAikIA + jUgAkE0EkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoBjUgCj0wK59nK/////fz7/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////xqR+hz4AkEwCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iUEArnxG/v7+/f38/f39/v7+//////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz6+PXv+fXy+fXy+fXy+fbz9vDr8Oje8Oje6dzO + 5NXE2MCmzbCPv5dusIBMn2UnmlwZk1EJjEUAhz0AiUEAjUcAkEwEkE0EkU0EkU0EkEwDj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sBkE0Ehz4Av5ht/v7+/fz7/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////+/f39/f389/PuoGYnikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAA1r2i//// + /Pz7/////v7+//////////////////////////////////////////////////////////////////// + /////////////////fz7////4M25l1YeoGYnn2MknmMkn2QmmVsYkUwEkU0FhTkAgzcAhDgAhDkAhDkA + hToAhToAhz0AiEAAikIAi0UAi0QAikIAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAikIAhz0Am1wc9O7o/v7+/f39/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+//7//f38////2sSsi0QAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0UBnWEg9fDr/v39/f39//////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////6NrMtIZYupFjuY9huo9huY9gupBjvJNnvJNnvpdsv5dtv5dtv5dsvpdsvpdsvpdsvpZrvpZr + vpVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvpdsuI1g + 4M24/////fz8/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////+ + /v7+/fz7////tIZUiD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8AwZxy/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz7/v397ePY + llURjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkgBkEsF6NrN/v7+/fz8/////v7+//////////////////////////// + /////////////////////////////////////////////////v7+/////v79/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v39/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/Pv7////yaiEiD8Aj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEsCiUEArXpD/v7//f39/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////f39/v38+vf0oWgrikIAj0sBj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oB + ikMA1bqf/////fz7/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz7////3MiyjEYBjkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0QAmlwa9O7n/v39 + /f38/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/f39////tIdViD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD4Avpds/////f38/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /fz8/v7+7+XblFIOjEYBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgBjkoD5dbF/v7//fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v38/v39 + /v38/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/////////v////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz8////y6uI + iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBiUEAq3c//fz7/v38/f79//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f39/v39/Pv6pGwuikEAj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sCikIA1Lqd/////fz7/v///v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7++fbzqXY9nmImoGYnoGUnoGUnoGUnoGUnoGUnoGUnoGUn + oGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUn + oGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnn2UnoGUnnmMm4c+8//// + /fz8//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz7////4tC9jUgEjkkCjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0QA + mVsZ8+zl/v38/fz8//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/fz7////xaJ8hToAi0QAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAi0QAhDoAqHI6+/n3/v39/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz8////uIxciUAAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8AvpZs/////fz7 + /v7+//7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz7/v7+ + 7ODUk1EPjUcCkEwDj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sCkEsCjkkDkk4L6t7Q/////fz7//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////f39/v7+8enhllYQjUYAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkkE49PB/////fz8/v///v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/f38////soJOiEAAj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0wBiD8Awp10/////fz8/v7+/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /Pz7////za+OikEAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sDiEAAp3I3/Pr4/f38/v39/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/Pz7////2cOri0QAj0oBjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0UAnWAf + 9vHs/v79/fz8//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/f39/f38+/n3pm8z + iUEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0oCikIA0LOU/////fz8/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/f38/f38+PPvoGcqi0QBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCiUEA1r2i/////fz7/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////fz7////4tC9jkkDjkkBjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAi0YAl1gT8+3l/v7+/f39//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////x6V/iD8AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiEAArXtF/f38/f38/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/fz8////vJJmiD4AkEwCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiEAA + upFj/////fz8/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f38/v7+6t7RklALjUcB + jkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0kAjkgBkU0I6NrM/////f38/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7//fz8/v798eril1kVi0QAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgBj0oG5NPC/////fz7 + /////v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v79/f38/f38soNQiUEAj0sCj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsC + hz4AwZty/////fz8/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////+/v///f37////0bWXiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApm8z/fz6/f38/f39//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////fz7////3MexikMAj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0MBnGEj9vLt/v39/f38 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////f39 + /f38/Pr4qHM6iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oCiUEAz7KS/////fz7/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v39/f38+PXxomotikIAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUIA1r2i/////fz7/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz7////49PBjUgC + jkkBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjEYBllYU8ejf/v79/f38/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz7////y6yJ + hz8Aj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAkEsBiD8ArXpD/fz7/v38/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/fz8////vJNmhz8Aj0sBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEsChz4At4ta/////fz8/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////f39////7ePZlFIPjEYAj0oAj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjUgCkEwL6dzO/////fz7//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////fz8/v398+vkmFoXi0UAj0oBj0kAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkkBjUcD + 38y3/////fz7/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/fz7/f38tYdVhz8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AwZtx//// + /fz8/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/fz8////0reaikIAjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApGww+/j2/v38/f39 + /////v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/fz6////3su1jEUEjkoCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0QAnGAf9fDq/v79/f39//7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v79/v39/f39q3c+iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AzKyK/////Pz7/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v/+/f39/v79 + +fb0o2otikMAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCikIA07eb/////fz7/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/////fz8 + /v7/59fIjkoEjUkBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0YBl1cV7+bc/f39/fz7/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+//7//fv7////yqmGiD8AkEwCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sBiEAAqXU7/Pv6/f38/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz8////v5dtiD4A + kEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBiD8Atotb/////fz7/v7+///+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////7+/fz8/v7+7uTalVQUjUcCj0oBj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkCj0oK + 5tbG/////fz8/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////f39/v399O7om10ci0UBj0oBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAj0oBjUcB4M25/////f38/v7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////f38////tolXiD8AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD4Avpdr/////fz7/v39/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////fz8////07ibiUAAkEsBjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCikIAomos + +PTw/fz8/f39/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////3ciyikMAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAi0UAmlsY9O7n/v7+/v39/v////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f39/f38/v79q3c/iUAAj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz4AyaiF/////fz7//// + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f39/f38+fXxomoviUEA + kEwCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0sCiUAA07mc/////fz7//////7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////fz8////6NvMkEwHjUgBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUcAk1EL7uTa/////f39//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////f38////y6uJhz8Aj0sBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sB + iUAAq3dA/Pr4/fz7/f39/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v///fz7 + ////wpxziD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8AtIZU/v39/fz7/v39/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////f38/v7+7uPYlFMPjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgBj0oC5dbG/////fz7 + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////+/fz8/v399/LunGAfi0MA + j0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0kBjEUC3cm0/////fz7/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v79/f38/v7+tYhYiD8AkEsCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz0AvpZr/////fz8/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v///fz7////17+likMAj0oBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + j0oBikMAomgq+vf0/f39/v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////Pz7////4M24 + i0UAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0sBi0QBm10f8+3m/f38/fz7/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////7+/v79/f39////rnxGiUAAkEsCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiEAAyKWB + /////Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v79/f38+PTxomkti0MAj0sBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEwBiUEA0rea/////fz7/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7//fz7////6t3QkE0IjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjUcBkk8M69/T/v7+/fz7//// + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/fz7////y6yKhz4Aj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUAAqnU9/Pz7 + /v38/v39/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/v7+/fz7////wZtyhz8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiEAAsoJP/////f38/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////f38/v7+8enhllYSjUcBj0oBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgCj0sJ5dbG//7+/Pz7/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////f38/v79 + +PTwnGAfi0QAj0sAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkoCi0QA28St/////Pz7/v7+/v7+//////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/f38 + ////uI1diD8AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBhz8AvpZq/////fz7/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/fz7////2sSsi0UAj0oB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0kAj0sCikMAnmQl9/Lt/f38/f39/////v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/fz7////4tC+jUcCjkkBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0oBi0QAmVsZ9O3m/v79/f38/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/f38////sYFMiD8Aj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + kEwChz4AxaJ8/////fz7/v7+//////////////////////////////////////////////////////// + ///////////////////////////////////+/f39/f39+/n3pGwwikEAj0sBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sCiUAA + 07mb/////Pz7/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////fz7/v7+7OHUkU0HjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjUcBk1AO6+DU + /v7+/Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////v7+/v///f38////za+OiD8Aj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAq3c+/fz7/fz8/f79//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/fz8////xqR/iD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz4AsIBM/v79/fz7/v7+//// + //////////////////////////////////////////////////////////////////////////////7/ + /fz8/v7+8erillYSjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBjkkF5tfH/////fz8/////v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////f39/f39+PXwn2Qli0MAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA2cKp/////fz8/v7///////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz8////uI1fiD8A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0wDhz4AvpVq/////Pz7/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz8//// + 2sWtikEAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oBi0MAnWAg9vDq/f38/f38/v7+//////////////////////////// + /////////////////////////////////////////////fz7////4tC9jUcAjkkBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jEQAm10b9O/p/v7+/f38//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v39/v7+soJPiUAAkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sDhz8Aw552/////fz7/v7+//7+//////////////////////////////////////// + /////////////////////v7+/f39/f38/Pr4pW8yikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUAA07ib/////fz7 + /v7//v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////f38/v7+7OHWklAMjUcBj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jUgAklAK6dzO/////f38/v////////////////////////////////////////////////////////// + /v7+/////fz7////za+OiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCiEAAqXY9+/n3/fz7/v39///+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////fz8////yamFiD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0wCiEAArXpD/Pv6 + /fz6/v39/v7+/////////////////////////////////////////////////////////f39/v7+8eng + lVMPjEYAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkBkEwF5tjJ/////f38/v///v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/f39/v39+fXyomkrikMAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sDikMC17+l/////fz7/////v7+ + /////////////////////////////////////////////v7+/v7+/f38////uI1diEAAkEsDjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEwBiD8Au5Jl/////fz8/v7+//7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////fz8////3ciyi0QAjkoCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBi0QAnmIi9vLt/v7+/v7+//////////////////// + /////////////////////////v7+/////fz8////4tC9jkgEjkkBj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBmFoX8uvj + /v39/fz8/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/fz8//// + tYdViD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0wDhz4AwZtx/////fz7/v7+/v7+//////////////////////////// + /////////////v7+/v39/Pr4pG0vikMAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiEAAz7KT/////fz7/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////fz7/v7+7uTalVQQjEYBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oBjUgCkU4N59jI/////fz8/////v7+/////////////////////////////v7+/v7+/fz8 + ////za6NiUAAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUEApm8z/Pv5/v39/f39//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////yaiDhz4Aj0sCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sB + iUAAqnY9/fz8/f38/v7+/////////////////////////////v7+/////f38/v398enhllcVi0UBj0oB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkgBjkkD5NTD/////fz8/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////f39/v39+/j2oWgqikIAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUIA07mb//// + /fz7/v7+/////////////////////////////v7+/f38////t4tahz8AkEsBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiD8A + upFj/////fz8/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/fz7////4M67jEYDjkkCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBi0QBm18g8+3l/v39/f38/v7+/v7+ + /////////////v7+/v7+/Pz7////5NTEjkkEjUkCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjEUAllcT8+vk/v39/f38//// + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/fz8////uIxciD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz0Avpdr/////fz7//////////////////////// + /f39/fz8+/n3p3E4iUEAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBiUAA0LSV/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////fz8/v7+8Ojf + llYSjEcBj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkgBkEwI5dfG/////fz7/v7+/////////////v7+/fz7////0LSWiEAA + kEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBikIAp3A1/Pr5/v39/v39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/fz7////za2Mhz8AkEsCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0sBiEEArHlC+/r4/fz8/v39/v7+/v7+/v7+/f38/v398+zkmVoZi0UBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkBjUcA49LA/////f38/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v38/f39+/n3pG0yikEAj0sCjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iD8A0ria/////fz7//////7+/v7+/fz7////u5Jlhz0Aj0wDjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8Au5Jk/////f38 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/////f38////38y3jUcAjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEUBmlsb8eng/v79 + /f38/////f38////5NTDjkkEjkkBjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBl1gV8uvk/v79/f38//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/fz8////t4xchz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wCiD4Au5Jm/////fz7/f39/fz8+/n3 + qXQ6iUIAj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8A0LOU/////fz8/////v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7/v7+8engllYWjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkgD5NTD/////Pr5////0bSXiEAAj0sDjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0kAj0sCikIAp3E3/Pr4/v39/v39/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////fz8////0baX + iUAAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAj0sBiUAApnE2+fbz/f388uvjl1cTi0UAj0oAj0kAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkgE5NTD + /////fz8/v////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v3+/v39/Pv5p3I4iUEAkEsBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkoAj0sCiUAAz7GT////upFjiD8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8Au5Fj/////fz8/v7///7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////fz7////4tG/jUcDjkkCjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAi0MA + nWEh1r2ikE0KjkgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEYBl1gX8urj/v7+/f38///+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v/+/Pz7////u5FkiD8AkEwBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAkU4FjUcAj0oA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sCiEAA0bWW/////fz7/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////f38/v7+8+zlmFkZjEYBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgAj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikIA + qHI4/Pv5/v39/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz6////0LOTiD8AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kCjUcF49G//////f38//// + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v39+/r3qnY+ + iUEAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sChz4Au5Nm/v///fz8/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////f38////5tfIjkkIjkkCj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0oAjEYAl1cU8+zl/v7+/v39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/fz7////v5huhz4Aj0sCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + kEsChz8Az7KS/////fz7/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v79/v7+9O7pmlwZi0UAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsCikEApnA3+vf0/fz7 + /v39/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////fz7////07ibiD8AkEsDj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkoBjEUA38y3/////fz7//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v39 + /fz7+/n3q3hBiUEAkEsCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0wChz4AuY1f/////f38/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////fz8////59jIj0oD + jkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oBjEYCl1YV7+Xb/v39/fz7/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/f37////vpdthz0Aj0wCj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBhz4Ay6uJ + /////fz8//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/fz8/v399O/om18hi0QBj0oBj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApW40+vf0/v39/v39/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////f38////1r2iiUAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkCjEYE4M24/////fz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/v79/v38/v39rnxIiEAAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAkEwChz8At4tZ/v7+/fz7/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/fz7 + /v7+6NrMkU0LjkgCjkoBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYB + llYW7+Xb/v7+/f38/////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////7//fz7////wJpwhz0A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiD8Aza6M/////fz7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////f39/v799vLtnWIki0QAj0sBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBiUEApG0x+vf0/f38/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7////1r6ii0MAj0oCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkoAj0kCjEYF38y3/////fz7/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/f38/fz8rXtEiUAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0wChz8AuIxc/v7+/fz7/v39/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////fz8////697Skk8MjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkoAjUYAllYR8Ofe/v/+ + /v39/v////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/fv6 + ////xKF6iD4AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wCiD8Ay6uJ/////v38//////7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v79/v7++fXyn2Qli0MA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0kAj0sCiUEApW8z+fby/fz7/f39/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////fz8////2cKqikQAjkoCj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkoAjkkBjEYA4M24/////fz8/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7/Pv6sH9LiD8AkEsCj0kAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz4At4pa + /////f38//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38////7OLWkk4KjUgBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEUBl1cV7uXb/v39/Pz8/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////fz8////xaJ8iD8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAAzK2L/////Pz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v39/fz7 + 9/LtomgsikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiUIApGww/Pn3/f38/f39//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////fz7////3Mewi0QAj0oB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkB + jUcE3sq2/////Pz7/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/f38////tolXiD8Aj0wBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8AuIxb/////fz8/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/fz7/v7+7eLWlVMSjUcCj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUYBllYT8Ojf/v7+/f39/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////fz8////yKaBhz4AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBhz8AyaiF/////fz7/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v39/v39+PTxomktikIAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oBikMAomgq+fXy/v39/f39//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/fz7//// + 3Mixi0MBjkoCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0MA3ciy//// + /fz8/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/fz7/v79tIdVhz4AkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBhz8AtIdV/////f37/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////f38////7+belVUUjEYBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkoAjUYBlFMO7uPZ/v7+/fz8//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/fz7////y6yJiD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEwBhz4AyKaD/////fz7/v///v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v38+ff0pW4yikEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikIAoWgq + +vf1/f38/f39//7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////fz7////4M24jEUFj0kCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkCjEYB3ciy/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v39/fz7/v39 + tolZhz4AkU4FkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwD + kEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwD + kEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwCkU0EiEAAtIVS/////f39/v7+///+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v///v39////8OfdlVQQhDoAiD8A + iD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4A + iD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4A + iD4AiD4AiD4AiD8AhToAkU4K7+Xc/v7+/f38/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////7+/////v7+////38y4y6yNzrGQzrCQzrCQzrCQzrCQ + zrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQ + zrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrGS + yqqM38u2/////v79/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/v7+/v79//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v79/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8 + /fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8 + /fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/f38/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxEtcStatus.Designer.cs b/LFP_Manager/Forms/fmxEtcStatus.Designer.cs new file mode 100644 index 0000000..47d5a7c --- /dev/null +++ b/LFP_Manager/Forms/fmxEtcStatus.Designer.cs @@ -0,0 +1,152 @@ + +namespace LFP_Manager.Forms +{ + partial class fmxEtcStatus + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fmxEtcStatus)); + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.Root = new DevExpress.XtraLayout.LayoutControlGroup(); + this.EtcStatusView = new LFP_Manager.Controls.ucEtcStatusView(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.btnClose = new DevExpress.XtraEditors.SimpleButton(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.tmrDisplay = new System.Windows.Forms.Timer(this.components); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.btnClose); + this.layoutControl1.Controls.Add(this.EtcStatusView); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(916, 145, 650, 400); + this.layoutControl1.Root = this.Root; + this.layoutControl1.Size = new System.Drawing.Size(612, 406); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // Root + // + this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.Root.GroupBordersVisible = false; + this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem1, + this.layoutControlItem2, + this.emptySpaceItem1}); + this.Root.Name = "Root"; + this.Root.Size = new System.Drawing.Size(612, 406); + this.Root.TextVisible = false; + // + // EtcStatusView + // + this.EtcStatusView.Location = new System.Drawing.Point(12, 12); + this.EtcStatusView.Name = "EtcStatusView"; + this.EtcStatusView.Size = new System.Drawing.Size(588, 347); + this.EtcStatusView.TabIndex = 4; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.EtcStatusView; + this.layoutControlItem1.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(592, 351); + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // btnClose + // + this.btnClose.Location = new System.Drawing.Point(495, 363); + this.btnClose.Name = "btnClose"; + this.btnClose.Size = new System.Drawing.Size(105, 31); + this.btnClose.StyleController = this.layoutControl1; + this.btnClose.TabIndex = 5; + this.btnClose.Text = "Close"; + this.btnClose.Click += new System.EventHandler(this.btnClose_Click); + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.btnClose; + this.layoutControlItem2.Location = new System.Drawing.Point(483, 351); + this.layoutControlItem2.MinSize = new System.Drawing.Size(89, 26); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(109, 35); + this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // emptySpaceItem1 + // + this.emptySpaceItem1.AllowHotTrack = false; + this.emptySpaceItem1.Location = new System.Drawing.Point(0, 351); + this.emptySpaceItem1.MinSize = new System.Drawing.Size(104, 24); + this.emptySpaceItem1.Name = "emptySpaceItem1"; + this.emptySpaceItem1.Size = new System.Drawing.Size(483, 35); + this.emptySpaceItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0); + // + // fmxEtcStatus + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(612, 406); + this.Controls.Add(this.layoutControl1); + this.IconOptions.Image = ((System.Drawing.Image)(resources.GetObject("fmxEtcStatus.IconOptions.Image"))); + this.Name = "fmxEtcStatus"; + this.Text = "fmxEtcStatus"; + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraEditors.SimpleButton btnClose; + private Controls.ucEtcStatusView EtcStatusView; + private DevExpress.XtraLayout.LayoutControlGroup Root; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + private System.Windows.Forms.Timer tmrDisplay; + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxEtcStatus.cs b/LFP_Manager/Forms/fmxEtcStatus.cs new file mode 100644 index 0000000..2de187d --- /dev/null +++ b/LFP_Manager/Forms/fmxEtcStatus.cs @@ -0,0 +1,100 @@ +using DevExpress.XtraEditors; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +using LFP_Manager.DataStructure; +using LFP_Manager.Function; +using LFP_Manager.Controls; + +namespace LFP_Manager.Forms +{ + public partial class fmxEtcStatus : DevExpress.XtraEditors.XtraForm + { + public delegate void UpdateEvent(object sendor); + public delegate void CmdEvent(int sId, int mode, int index, int flag, ref DeviceParamData aParam, ref DeviceCalibration aCalib); + + #region VARIABLES + + int SystemId = 0; + DeviceSystemData SystemData; + DeviceParamData Param; + DeviceCalibration Calib; + + public event UpdateEvent OnUpdate = null; + public event CmdEvent OnCommand = null; + + #endregion + + #region CONSTRUCTORS + + public fmxEtcStatus() + { + InitializeComponent(); + } + + public fmxEtcStatus(int sId, DeviceCalibration aCalib) + { + InitializeComponent(); + + InitComponent(); + + SystemId = sId; + Calib = aCalib; + + tmrDisplay.Enabled = true; + } + + public void InitComponent() + { + EtcStatusView.OnCommand += OnCmdEvent; + } + + #endregion + + #region BUTTON EVENT + + private void btnClose_Click(object sender, EventArgs e) + { + Close(); + } + + #endregion + + #region COMMAND EVENT + + private void OnCmdEvent(int mode, int index, int flag, ref DeviceParamData aParam, ref DeviceCalibration aCalib) + { + OnCommand?.Invoke(SystemId, mode, index, flag, ref aParam, ref aCalib); + } + + #endregion + + #region TIMER EVENT + + private void tmrDisplay_Tick(object sender, EventArgs e) + { + + DisplayValue(); + OnUpdate?.Invoke(this); + } + + #endregion + + #region DISPLAY DATA + + private void DisplayValue() + { + // Cell Voltage Parameter + EtcStatusView.UpdateData(SystemData); + } + + #endregion + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxEtcStatus.resx b/LFP_Manager/Forms/fmxEtcStatus.resx new file mode 100644 index 0000000..a14af06 --- /dev/null +++ b/LFP_Manager/Forms/fmxEtcStatus.resx @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAATMSURBVFhH5VVrbBVVED63bUr4pTESFWPE+Idf2qAxiqiF + giAV0fiIGgJq4g/wkUiMlWI0kj5oS61VUwWurUDRiAUqmAhBHq2t+CgqhRJoCzWt+Kj0Wnqh79txvtmd + 7V66d7v4hxgnmZzdPTNnvvlmzqyhSyz/HQAjIyPO6qdqE1QCAXAfGPM53L0XFMRFMaCHRqJ91HW219Ez + 3b3Ufb5f9tx2QWRcAHrg0HBM3nc3tNGkhe/QpMffpysfK3N08qNldPhkp9gMs21QIL4A9IBYLEbDrH0D + QzT12Qoy6avJ3PcWmbnFluL5rjyamfUZvMQ2SHBIIAY0+1UfHyRzZy4lL3jbCjq/xFJ+Tr6fvzGITXub + xBY+QVhICECdQSeaq+XXCE3MLKGQZsyBQ3gXAPY6u4iueeIDivT0CQvChH1WIhm3BJr9A29Wk7k7n5Iy + rewl4L1ruASsNgtJYGFGHr207oD4DNos+IknAM1+cGhY3j8/2EpmVoFFswbiUixfu58eyd0pQeUb9hjM + BF61IccrxRgAaojGg/O53gG68akwheYUcfYW1aE5a+gq7nw0ZcvpCKXOK6YkDuqAm1lA6Vlb7CT8WRgL + AMoOSn32R3VxjSfrPfm0Yc9R2Ye8WvG1NKBjAxD8Xrn3mOz7sRAHQI30Hh9v77KyY/XKDgej0Xp4CE1Z + sl6Y0cYM2Q35Nw8t2IBRjeEWzxIAAGT+69usxnPqy9nxLfip9U8HgPbJlprjYpvKQwoMYMX7CmYHoixc + KA4AbOqhkO31LXbXJ+hwDozMYI9ewIpBZNLe4JLlkZmeS+aOHDK351BNYwfbjjLrBiIA9INMPDaKnh+g + KYvXk8kotOi0Kb1u0To6e65fArOT+LgF/4VsBphdUSeZr9xQR6+U7aPqb1pl34uFOAaUzqzy2virhZXZ + +JRphgAkhk1D8x+059AvVLH7CJVsbaDwl430xfenaMe3rXJ1oTu/O0mffNVE9U2nLV8G72bB6IvSc7Tt + L7nHqLcEx+Dhrp+dXSVZqx3AdjMbHZ09dOBwO73GGV+/aK1VAqYdgKUUM7gU03Po8ofepd/ORMc0JAOw + HnAwJGNFFQdcPZo9K27CkbZOGckKwEvwvXxXI13Nf0bDcyN1YSml8DkTHrQacnHxLrFzl4JLMNp4m/cd + 4/ub70w8uddcCtxzCLJWR6yqyAp7mtmJjghNffpDq4e0ibHOKqT9P7eLjYIweMABqOm1TzKFGUWjjcdZ + 3LAkTFGehrCBQhQEREHo88DgkDw388/rMr6KSfO0lAwgvYBuXraRbfgGcVwANr39lsNy7l7UzKEeDlz7 + bfXNsq/Zu4O7Rfbstd8GUVr949hm5veS7YdkH9dXbkHjqU5pvBTOGoFTFpRKzeau3CqGXtfHS9QGmcEH + etPSjTI9UU6cncz9dMXD79HvXVG24xLgXk97vtLqXK4ZjBE8hSfeiY6uuMYLCgJqgSaq5SEkN4Lpl7N5 + npjbVlEmT1mIyQrXUtpzm2jaC5UC5NYXN1MaN1Bh1Q9i4Nf1fgIf7ZmXwzWU9ky5nI0Yt7Ai5g785lGH + RILsNfjFgHD7+Pmh/5xRjGCq8s71UfE7JJGoj57lFQPiTEIvhej6b+TC87zU+RdcKvm/AyD6B4yX+amq + vYT8AAAAAElFTkSuQmCC + + + \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxExcelFile.Designer.cs b/LFP_Manager/Forms/fmxExcelFile.Designer.cs new file mode 100644 index 0000000..5070213 --- /dev/null +++ b/LFP_Manager/Forms/fmxExcelFile.Designer.cs @@ -0,0 +1,776 @@ +namespace LFP_Manager +{ + partial class fmxExcelFile + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fmxExcelFile)); + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.tbPcbSn = new DevExpress.XtraEditors.TextEdit(); + this.btnOpenDbFolder = new DevExpress.XtraEditors.SimpleButton(); + this.edResultCount = new DevExpress.XtraEditors.TextEdit(); + this.btnResultListClear = new DevExpress.XtraEditors.SimpleButton(); + this.btnSearchPcbSn = new DevExpress.XtraEditors.SimpleButton(); + this.btnOutputAll = new DevExpress.XtraEditors.SimpleButton(); + this.btnDeleteQuery = new DevExpress.XtraEditors.SimpleButton(); + this.btnCreateNewDb = new DevExpress.XtraEditors.SimpleButton(); + this.btnCheckGroupData = new DevExpress.XtraEditors.SimpleButton(); + this.cbResultList = new DevExpress.XtraEditors.ComboBoxEdit(); + this.cbLotNo = new DevExpress.XtraEditors.ComboBoxEdit(); + this.btnExcuteTCell = new DevExpress.XtraEditors.SimpleButton(); + this.gbDbCommnad = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl2 = new DevExpress.XtraLayout.LayoutControl(); + this.btnOpenSchema = new DevExpress.XtraEditors.SimpleButton(); + this.btnDbMerge = new DevExpress.XtraEditors.SimpleButton(); + this.btnQueryExcute = new DevExpress.XtraEditors.SimpleButton(); + this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem(); + this.tbSchema = new System.Windows.Forms.TextBox(); + this.gridCell = new System.Windows.Forms.DataGridView(); + this.btnFindFile = new DevExpress.XtraEditors.SimpleButton(); + this.edFileName = new DevExpress.XtraEditors.TextEdit(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem(); + this.lcitemLot = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlItem11 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem13 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem14 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem15 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem16 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem18 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem17 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem19 = new DevExpress.XtraLayout.LayoutControlItem(); + this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); + this.btnDbFileFind = new DevExpress.XtraEditors.SimpleButton(); + this.layoutControlItem20 = new DevExpress.XtraLayout.LayoutControlItem(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.tbPcbSn.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.edResultCount.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.cbResultList.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.cbLotNo.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbDbCommnad)).BeginInit(); + this.gbDbCommnad.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).BeginInit(); + this.layoutControl2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gridCell)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.edFileName.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemLot)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem15)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem16)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem18)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem17)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem19)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem20)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.btnDbFileFind); + this.layoutControl1.Controls.Add(this.tbPcbSn); + this.layoutControl1.Controls.Add(this.btnOpenDbFolder); + this.layoutControl1.Controls.Add(this.edResultCount); + this.layoutControl1.Controls.Add(this.btnResultListClear); + this.layoutControl1.Controls.Add(this.btnSearchPcbSn); + this.layoutControl1.Controls.Add(this.btnOutputAll); + this.layoutControl1.Controls.Add(this.btnDeleteQuery); + this.layoutControl1.Controls.Add(this.btnCreateNewDb); + this.layoutControl1.Controls.Add(this.btnCheckGroupData); + this.layoutControl1.Controls.Add(this.cbResultList); + this.layoutControl1.Controls.Add(this.cbLotNo); + this.layoutControl1.Controls.Add(this.btnExcuteTCell); + this.layoutControl1.Controls.Add(this.gbDbCommnad); + this.layoutControl1.Controls.Add(this.tbSchema); + this.layoutControl1.Controls.Add(this.gridCell); + this.layoutControl1.Controls.Add(this.btnFindFile); + this.layoutControl1.Controls.Add(this.edFileName); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1347, 290, 250, 350); + this.layoutControl1.Root = this.layoutControlGroup1; + this.layoutControl1.Size = new System.Drawing.Size(999, 578); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // tbPcbSn + // + this.tbPcbSn.Location = new System.Drawing.Point(681, 265); + this.tbPcbSn.Name = "tbPcbSn"; + this.tbPcbSn.Size = new System.Drawing.Size(163, 20); + this.tbPcbSn.StyleController = this.layoutControl1; + this.tbPcbSn.TabIndex = 23; + // + // btnOpenDbFolder + // + this.btnOpenDbFolder.Location = new System.Drawing.Point(894, 12); + this.btnOpenDbFolder.Name = "btnOpenDbFolder"; + this.btnOpenDbFolder.Size = new System.Drawing.Size(93, 22); + this.btnOpenDbFolder.StyleController = this.layoutControl1; + this.btnOpenDbFolder.TabIndex = 22; + this.btnOpenDbFolder.Text = "Open DB Folder"; + this.btnOpenDbFolder.Click += new System.EventHandler(this.btnOpenDbFolder_Click); + // + // edResultCount + // + this.edResultCount.Location = new System.Drawing.Point(89, 265); + this.edResultCount.Name = "edResultCount"; + this.edResultCount.Size = new System.Drawing.Size(59, 20); + this.edResultCount.StyleController = this.layoutControl1; + this.edResultCount.TabIndex = 21; + // + // btnResultListClear + // + this.btnResultListClear.Location = new System.Drawing.Point(402, 265); + this.btnResultListClear.Name = "btnResultListClear"; + this.btnResultListClear.Size = new System.Drawing.Size(89, 22); + this.btnResultListClear.StyleController = this.layoutControl1; + this.btnResultListClear.TabIndex = 20; + this.btnResultListClear.Text = "Clear"; + this.btnResultListClear.Click += new System.EventHandler(this.btnResultListClear_Click); + // + // btnSearchPcbSn + // + this.btnSearchPcbSn.Location = new System.Drawing.Point(848, 265); + this.btnSearchPcbSn.Name = "btnSearchPcbSn"; + this.btnSearchPcbSn.Size = new System.Drawing.Size(139, 22); + this.btnSearchPcbSn.StyleController = this.layoutControl1; + this.btnSearchPcbSn.TabIndex = 19; + this.btnSearchPcbSn.Text = "Search PCB SN"; + this.btnSearchPcbSn.Click += new System.EventHandler(this.btnModuleResult_Click); + // + // btnOutputAll + // + this.btnOutputAll.Location = new System.Drawing.Point(897, 229); + this.btnOutputAll.Name = "btnOutputAll"; + this.btnOutputAll.Size = new System.Drawing.Size(90, 32); + this.btnOutputAll.StyleController = this.layoutControl1; + this.btnOutputAll.TabIndex = 18; + this.btnOutputAll.Text = "Output All"; + this.btnOutputAll.Click += new System.EventHandler(this.btnOutputAll_Click); + // + // btnDeleteQuery + // + this.btnDeleteQuery.Location = new System.Drawing.Point(740, 229); + this.btnDeleteQuery.Name = "btnDeleteQuery"; + this.btnDeleteQuery.Size = new System.Drawing.Size(123, 32); + this.btnDeleteQuery.StyleController = this.layoutControl1; + this.btnDeleteQuery.TabIndex = 17; + this.btnDeleteQuery.Text = "Delete Query"; + this.btnDeleteQuery.Click += new System.EventHandler(this.btnCheckMeasData_Click); + // + // btnCreateNewDb + // + this.btnCreateNewDb.Location = new System.Drawing.Point(867, 197); + this.btnCreateNewDb.Name = "btnCreateNewDb"; + this.btnCreateNewDb.Size = new System.Drawing.Size(120, 28); + this.btnCreateNewDb.StyleController = this.layoutControl1; + this.btnCreateNewDb.TabIndex = 16; + this.btnCreateNewDb.Text = "Create New DB"; + this.btnCreateNewDb.Click += new System.EventHandler(this.btnCreateNewDb_Click); + // + // btnCheckGroupData + // + this.btnCheckGroupData.Location = new System.Drawing.Point(740, 197); + this.btnCheckGroupData.Name = "btnCheckGroupData"; + this.btnCheckGroupData.Size = new System.Drawing.Size(123, 28); + this.btnCheckGroupData.StyleController = this.layoutControl1; + this.btnCheckGroupData.TabIndex = 15; + this.btnCheckGroupData.Text = "Select All"; + this.btnCheckGroupData.Click += new System.EventHandler(this.btnCheckGroupData_Click); + // + // cbResultList + // + this.cbResultList.Location = new System.Drawing.Point(237, 265); + this.cbResultList.Name = "cbResultList"; + this.cbResultList.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F); + this.cbResultList.Properties.Appearance.Options.UseFont = true; + this.cbResultList.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { + new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}); + this.cbResultList.Size = new System.Drawing.Size(161, 22); + this.cbResultList.StyleController = this.layoutControl1; + this.cbResultList.TabIndex = 14; + this.cbResultList.SelectedIndexChanged += new System.EventHandler(this.cbResultList_SelectedIndexChanged); + // + // cbLotNo + // + this.cbLotNo.Location = new System.Drawing.Point(805, 147); + this.cbLotNo.Name = "cbLotNo"; + this.cbLotNo.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { + new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}); + this.cbLotNo.Size = new System.Drawing.Size(182, 20); + this.cbLotNo.StyleController = this.layoutControl1; + this.cbLotNo.TabIndex = 13; + // + // btnExcuteTCell + // + this.btnExcuteTCell.Location = new System.Drawing.Point(740, 171); + this.btnExcuteTCell.Name = "btnExcuteTCell"; + this.btnExcuteTCell.Size = new System.Drawing.Size(247, 22); + this.btnExcuteTCell.StyleController = this.layoutControl1; + this.btnExcuteTCell.TabIndex = 12; + this.btnExcuteTCell.Text = "SQL Excute"; + this.btnExcuteTCell.Click += new System.EventHandler(this.btnExcuteTCell_Click); + // + // gbDbCommnad + // + this.gbDbCommnad.Controls.Add(this.layoutControl2); + this.gbDbCommnad.Location = new System.Drawing.Point(740, 38); + this.gbDbCommnad.Name = "gbDbCommnad"; + this.gbDbCommnad.Size = new System.Drawing.Size(247, 105); + this.gbDbCommnad.TabIndex = 11; + this.gbDbCommnad.Text = "Management DB"; + // + // layoutControl2 + // + this.layoutControl2.Controls.Add(this.btnOpenSchema); + this.layoutControl2.Controls.Add(this.btnDbMerge); + this.layoutControl2.Controls.Add(this.btnQueryExcute); + this.layoutControl2.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl2.Location = new System.Drawing.Point(2, 23); + this.layoutControl2.Name = "layoutControl2"; + this.layoutControl2.Root = this.layoutControlGroup2; + this.layoutControl2.Size = new System.Drawing.Size(243, 80); + this.layoutControl2.TabIndex = 0; + this.layoutControl2.Text = "layoutControl2"; + // + // btnOpenSchema + // + this.btnOpenSchema.Location = new System.Drawing.Point(3, 3); + this.btnOpenSchema.Name = "btnOpenSchema"; + this.btnOpenSchema.Size = new System.Drawing.Size(237, 22); + this.btnOpenSchema.StyleController = this.layoutControl2; + this.btnOpenSchema.TabIndex = 8; + this.btnOpenSchema.Text = "Open Schema"; + this.btnOpenSchema.Click += new System.EventHandler(this.btnOpenSchema_Click); + // + // btnDbMerge + // + this.btnDbMerge.Location = new System.Drawing.Point(3, 55); + this.btnDbMerge.Name = "btnDbMerge"; + this.btnDbMerge.Size = new System.Drawing.Size(237, 22); + this.btnDbMerge.StyleController = this.layoutControl2; + this.btnDbMerge.TabIndex = 10; + this.btnDbMerge.Text = "BMS Data Merse"; + this.btnDbMerge.Click += new System.EventHandler(this.btnBmsBmsDataMerse_Click); + // + // btnQueryExcute + // + this.btnQueryExcute.Location = new System.Drawing.Point(3, 29); + this.btnQueryExcute.Name = "btnQueryExcute"; + this.btnQueryExcute.Size = new System.Drawing.Size(237, 22); + this.btnQueryExcute.StyleController = this.layoutControl2; + this.btnQueryExcute.TabIndex = 9; + this.btnQueryExcute.Text = "Query Excute"; + this.btnQueryExcute.Click += new System.EventHandler(this.btnQueryExcute_Click); + // + // layoutControlGroup2 + // + this.layoutControlGroup2.CustomizationFormText = "layoutControlGroup2"; + this.layoutControlGroup2.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup2.GroupBordersVisible = false; + this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem5, + this.layoutControlItem6, + this.layoutControlItem7}); + this.layoutControlGroup2.Name = "layoutControlGroup2"; + this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup2.Size = new System.Drawing.Size(243, 80); + this.layoutControlGroup2.TextVisible = false; + // + // layoutControlItem5 + // + this.layoutControlItem5.Control = this.btnOpenSchema; + this.layoutControlItem5.CustomizationFormText = "layoutControlItem5"; + this.layoutControlItem5.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem5.Name = "layoutControlItem5"; + this.layoutControlItem5.Size = new System.Drawing.Size(241, 26); + this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem5.TextVisible = false; + // + // layoutControlItem6 + // + this.layoutControlItem6.Control = this.btnQueryExcute; + this.layoutControlItem6.CustomizationFormText = "layoutControlItem6"; + this.layoutControlItem6.Location = new System.Drawing.Point(0, 26); + this.layoutControlItem6.Name = "layoutControlItem6"; + this.layoutControlItem6.Size = new System.Drawing.Size(241, 26); + this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem6.TextVisible = false; + // + // layoutControlItem7 + // + this.layoutControlItem7.Control = this.btnDbMerge; + this.layoutControlItem7.CustomizationFormText = "layoutControlItem7"; + this.layoutControlItem7.Location = new System.Drawing.Point(0, 52); + this.layoutControlItem7.Name = "layoutControlItem7"; + this.layoutControlItem7.Size = new System.Drawing.Size(241, 26); + this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem7.TextVisible = false; + // + // tbSchema + // + this.tbSchema.Location = new System.Drawing.Point(12, 38); + this.tbSchema.Multiline = true; + this.tbSchema.Name = "tbSchema"; + this.tbSchema.ScrollBars = System.Windows.Forms.ScrollBars.Both; + this.tbSchema.Size = new System.Drawing.Size(724, 223); + this.tbSchema.TabIndex = 7; + // + // gridCell + // + this.gridCell.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.gridCell.Location = new System.Drawing.Point(12, 291); + this.gridCell.Name = "gridCell"; + this.gridCell.RowTemplate.Height = 23; + this.gridCell.Size = new System.Drawing.Size(975, 275); + this.gridCell.TabIndex = 6; + // + // btnFindFile + // + this.btnFindFile.Location = new System.Drawing.Point(712, 12); + this.btnFindFile.Name = "btnFindFile"; + this.btnFindFile.Size = new System.Drawing.Size(89, 22); + this.btnFindFile.StyleController = this.layoutControl1; + this.btnFindFile.TabIndex = 5; + this.btnFindFile.Text = "Excel File ...."; + this.btnFindFile.Click += new System.EventHandler(this.btnFindFile_Click); + // + // edFileName + // + this.edFileName.Location = new System.Drawing.Point(89, 12); + this.edFileName.Name = "edFileName"; + this.edFileName.Size = new System.Drawing.Size(619, 20); + this.edFileName.StyleController = this.layoutControl1; + this.edFileName.TabIndex = 4; + // + // layoutControlGroup1 + // + this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1"; + this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup1.GroupBordersVisible = false; + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem1, + this.layoutControlItem2, + this.emptySpaceItem1, + this.layoutControlItem3, + this.layoutControlItem4, + this.layoutControlItem8, + this.layoutControlItem9, + this.lcitemLot, + this.layoutControlItem10, + this.emptySpaceItem2, + this.layoutControlItem11, + this.layoutControlItem12, + this.layoutControlItem13, + this.layoutControlItem14, + this.layoutControlItem15, + this.layoutControlItem16, + this.layoutControlItem18, + this.layoutControlItem17, + this.layoutControlItem19, + this.layoutControlItem20}); + this.layoutControlGroup1.Name = "layoutControlGroup1"; + this.layoutControlGroup1.Size = new System.Drawing.Size(999, 578); + this.layoutControlGroup1.TextVisible = false; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.edFileName; + this.layoutControlItem1.CustomizationFormText = "layoutControlItem1"; + this.layoutControlItem1.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem1.MinSize = new System.Drawing.Size(162, 24); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(700, 26); + this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem1.Text = "File Name: "; + this.layoutControlItem1.TextSize = new System.Drawing.Size(74, 14); + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.btnFindFile; + this.layoutControlItem2.CustomizationFormText = "layoutControlItem2"; + this.layoutControlItem2.Location = new System.Drawing.Point(700, 0); + this.layoutControlItem2.MinSize = new System.Drawing.Size(93, 26); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(93, 26); + this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // emptySpaceItem1 + // + this.emptySpaceItem1.AllowHotTrack = false; + this.emptySpaceItem1.CustomizationFormText = "emptySpaceItem1"; + this.emptySpaceItem1.Location = new System.Drawing.Point(855, 217); + this.emptySpaceItem1.Name = "emptySpaceItem1"; + this.emptySpaceItem1.Size = new System.Drawing.Size(30, 36); + this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlItem3 + // + this.layoutControlItem3.Control = this.gridCell; + this.layoutControlItem3.CustomizationFormText = "layoutControlItem3"; + this.layoutControlItem3.Location = new System.Drawing.Point(0, 279); + this.layoutControlItem3.MinSize = new System.Drawing.Size(104, 24); + this.layoutControlItem3.Name = "layoutControlItem3"; + this.layoutControlItem3.Size = new System.Drawing.Size(979, 279); + this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem3.TextVisible = false; + // + // layoutControlItem4 + // + this.layoutControlItem4.Control = this.tbSchema; + this.layoutControlItem4.CustomizationFormText = "layoutControlItem4"; + this.layoutControlItem4.Location = new System.Drawing.Point(0, 26); + this.layoutControlItem4.MinSize = new System.Drawing.Size(132, 24); + this.layoutControlItem4.Name = "layoutControlItem4"; + this.layoutControlItem4.Size = new System.Drawing.Size(728, 227); + this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem4.TextVisible = false; + // + // layoutControlItem8 + // + this.layoutControlItem8.Control = this.gbDbCommnad; + this.layoutControlItem8.CustomizationFormText = "layoutControlItem8"; + this.layoutControlItem8.Location = new System.Drawing.Point(728, 26); + this.layoutControlItem8.Name = "layoutControlItem8"; + this.layoutControlItem8.Size = new System.Drawing.Size(251, 109); + this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem8.TextVisible = false; + // + // layoutControlItem9 + // + this.layoutControlItem9.Control = this.btnExcuteTCell; + this.layoutControlItem9.CustomizationFormText = "layoutControlItem9"; + this.layoutControlItem9.Location = new System.Drawing.Point(728, 159); + this.layoutControlItem9.Name = "layoutControlItem9"; + this.layoutControlItem9.Size = new System.Drawing.Size(251, 26); + this.layoutControlItem9.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem9.TextVisible = false; + // + // lcitemLot + // + this.lcitemLot.Control = this.cbLotNo; + this.lcitemLot.CustomizationFormText = " Lot No"; + this.lcitemLot.Location = new System.Drawing.Point(728, 135); + this.lcitemLot.Name = "lcitemLot"; + this.lcitemLot.Size = new System.Drawing.Size(251, 24); + this.lcitemLot.Text = " Lot No"; + this.lcitemLot.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.lcitemLot.TextSize = new System.Drawing.Size(60, 14); + this.lcitemLot.TextToControlDistance = 5; + // + // layoutControlItem10 + // + this.layoutControlItem10.Control = this.cbResultList; + this.layoutControlItem10.CustomizationFormText = " Result List"; + this.layoutControlItem10.Location = new System.Drawing.Point(140, 253); + this.layoutControlItem10.MaxSize = new System.Drawing.Size(0, 26); + this.layoutControlItem10.MinSize = new System.Drawing.Size(187, 26); + this.layoutControlItem10.Name = "layoutControlItem10"; + this.layoutControlItem10.Size = new System.Drawing.Size(250, 26); + this.layoutControlItem10.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem10.Text = " Result List"; + this.layoutControlItem10.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.layoutControlItem10.TextSize = new System.Drawing.Size(80, 14); + this.layoutControlItem10.TextToControlDistance = 5; + // + // emptySpaceItem2 + // + this.emptySpaceItem2.AllowHotTrack = false; + this.emptySpaceItem2.CustomizationFormText = "emptySpaceItem2"; + this.emptySpaceItem2.Location = new System.Drawing.Point(483, 253); + this.emptySpaceItem2.Name = "emptySpaceItem2"; + this.emptySpaceItem2.Size = new System.Drawing.Size(109, 26); + this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlItem11 + // + this.layoutControlItem11.Control = this.btnCheckGroupData; + this.layoutControlItem11.CustomizationFormText = "layoutControlItem11"; + this.layoutControlItem11.Location = new System.Drawing.Point(728, 185); + this.layoutControlItem11.MinSize = new System.Drawing.Size(93, 26); + this.layoutControlItem11.Name = "layoutControlItem11"; + this.layoutControlItem11.Size = new System.Drawing.Size(127, 32); + this.layoutControlItem11.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem11.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem11.TextVisible = false; + // + // layoutControlItem12 + // + this.layoutControlItem12.Control = this.btnCreateNewDb; + this.layoutControlItem12.CustomizationFormText = "layoutControlItem12"; + this.layoutControlItem12.Location = new System.Drawing.Point(855, 185); + this.layoutControlItem12.MinSize = new System.Drawing.Size(93, 26); + this.layoutControlItem12.Name = "layoutControlItem12"; + this.layoutControlItem12.Size = new System.Drawing.Size(124, 32); + this.layoutControlItem12.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem12.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem12.TextVisible = false; + // + // layoutControlItem13 + // + this.layoutControlItem13.Control = this.btnDeleteQuery; + this.layoutControlItem13.CustomizationFormText = "layoutControlItem13"; + this.layoutControlItem13.Location = new System.Drawing.Point(728, 217); + this.layoutControlItem13.MinSize = new System.Drawing.Size(93, 26); + this.layoutControlItem13.Name = "layoutControlItem13"; + this.layoutControlItem13.Size = new System.Drawing.Size(127, 36); + this.layoutControlItem13.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem13.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem13.TextVisible = false; + // + // layoutControlItem14 + // + this.layoutControlItem14.Control = this.btnOutputAll; + this.layoutControlItem14.CustomizationFormText = "layoutControlItem14"; + this.layoutControlItem14.Location = new System.Drawing.Point(885, 217); + this.layoutControlItem14.MinSize = new System.Drawing.Size(93, 26); + this.layoutControlItem14.Name = "layoutControlItem14"; + this.layoutControlItem14.Size = new System.Drawing.Size(94, 36); + this.layoutControlItem14.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem14.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem14.TextVisible = false; + // + // layoutControlItem15 + // + this.layoutControlItem15.Control = this.btnSearchPcbSn; + this.layoutControlItem15.CustomizationFormText = "layoutControlItem15"; + this.layoutControlItem15.Location = new System.Drawing.Point(836, 253); + this.layoutControlItem15.MinSize = new System.Drawing.Size(93, 26); + this.layoutControlItem15.Name = "layoutControlItem15"; + this.layoutControlItem15.Size = new System.Drawing.Size(143, 26); + this.layoutControlItem15.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem15.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem15.TextVisible = false; + // + // layoutControlItem16 + // + this.layoutControlItem16.Control = this.btnResultListClear; + this.layoutControlItem16.CustomizationFormText = "layoutControlItem16"; + this.layoutControlItem16.Location = new System.Drawing.Point(390, 253); + this.layoutControlItem16.MinSize = new System.Drawing.Size(93, 26); + this.layoutControlItem16.Name = "layoutControlItem16"; + this.layoutControlItem16.Size = new System.Drawing.Size(93, 26); + this.layoutControlItem16.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem16.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem16.TextVisible = false; + // + // layoutControlItem18 + // + this.layoutControlItem18.Control = this.btnOpenDbFolder; + this.layoutControlItem18.CustomizationFormText = "layoutControlItem18"; + this.layoutControlItem18.Location = new System.Drawing.Point(882, 0); + this.layoutControlItem18.Name = "layoutControlItem18"; + this.layoutControlItem18.Size = new System.Drawing.Size(97, 26); + this.layoutControlItem18.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem18.TextVisible = false; + // + // layoutControlItem17 + // + this.layoutControlItem17.Control = this.edResultCount; + this.layoutControlItem17.CustomizationFormText = "layoutControlItem17"; + this.layoutControlItem17.Location = new System.Drawing.Point(0, 253); + this.layoutControlItem17.MinSize = new System.Drawing.Size(54, 24); + this.layoutControlItem17.Name = "layoutControlItem17"; + this.layoutControlItem17.Size = new System.Drawing.Size(140, 26); + this.layoutControlItem17.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem17.Text = "Result Count "; + this.layoutControlItem17.TextSize = new System.Drawing.Size(74, 14); + // + // layoutControlItem19 + // + this.layoutControlItem19.Control = this.tbPcbSn; + this.layoutControlItem19.CustomizationFormText = "PCB SN"; + this.layoutControlItem19.Location = new System.Drawing.Point(592, 253); + this.layoutControlItem19.MinSize = new System.Drawing.Size(131, 24); + this.layoutControlItem19.Name = "layoutControlItem19"; + this.layoutControlItem19.Size = new System.Drawing.Size(244, 26); + this.layoutControlItem19.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem19.Text = "PCB SN"; + this.layoutControlItem19.TextSize = new System.Drawing.Size(74, 14); + // + // openFileDialog1 + // + this.openFileDialog1.FileName = "openFileDialog1"; + // + // btnDbFileFind + // + this.btnDbFileFind.Location = new System.Drawing.Point(805, 12); + this.btnDbFileFind.Name = "btnDbFileFind"; + this.btnDbFileFind.Size = new System.Drawing.Size(85, 22); + this.btnDbFileFind.StyleController = this.layoutControl1; + this.btnDbFileFind.TabIndex = 24; + this.btnDbFileFind.Text = "DB Files ..."; + this.btnDbFileFind.Click += new System.EventHandler(this.btnDbFileFind_Click); + // + // layoutControlItem20 + // + this.layoutControlItem20.Control = this.btnDbFileFind; + this.layoutControlItem20.Location = new System.Drawing.Point(793, 0); + this.layoutControlItem20.Name = "layoutControlItem20"; + this.layoutControlItem20.Size = new System.Drawing.Size(89, 26); + this.layoutControlItem20.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem20.TextVisible = false; + // + // fmxExcelFile + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(999, 578); + this.Controls.Add(this.layoutControl1); + this.IconOptions.Icon = ((System.Drawing.Icon)(resources.GetObject("fmxExcelFile.IconOptions.Icon"))); + this.Name = "fmxExcelFile"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Database Control"; + this.Load += new System.EventHandler(this.fmxExcelFile_Load); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.tbPcbSn.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.edResultCount.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.cbResultList.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.cbLotNo.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbDbCommnad)).EndInit(); + this.gbDbCommnad.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).EndInit(); + this.layoutControl2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gridCell)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.edFileName.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemLot)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem15)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem16)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem18)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem17)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem19)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem20)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraEditors.SimpleButton btnFindFile; + private DevExpress.XtraEditors.TextEdit edFileName; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + private System.Windows.Forms.DataGridView gridCell; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private System.Windows.Forms.TextBox tbSchema; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4; + private DevExpress.XtraEditors.SimpleButton btnOpenSchema; + private DevExpress.XtraEditors.SimpleButton btnQueryExcute; + private DevExpress.XtraEditors.GroupControl gbDbCommnad; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8; + private DevExpress.XtraLayout.LayoutControl layoutControl2; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6; + private DevExpress.XtraEditors.SimpleButton btnExcuteTCell; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9; + private DevExpress.XtraEditors.ComboBoxEdit cbLotNo; + private DevExpress.XtraLayout.LayoutControlItem lcitemLot; + private DevExpress.XtraEditors.ComboBoxEdit cbResultList; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem10; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2; + private DevExpress.XtraEditors.SimpleButton btnCheckGroupData; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem11; + private DevExpress.XtraEditors.SimpleButton btnCreateNewDb; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem12; + private DevExpress.XtraEditors.SimpleButton btnDeleteQuery; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem13; + private DevExpress.XtraEditors.SimpleButton btnOutputAll; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem14; + private DevExpress.XtraEditors.SimpleButton btnSearchPcbSn; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem15; + private DevExpress.XtraEditors.SimpleButton btnResultListClear; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem16; + private DevExpress.XtraEditors.TextEdit edResultCount; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem17; + private DevExpress.XtraEditors.SimpleButton btnOpenDbFolder; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem18; + private DevExpress.XtraEditors.TextEdit tbPcbSn; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem19; + private DevExpress.XtraEditors.SimpleButton btnDbMerge; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7; + private System.Windows.Forms.OpenFileDialog openFileDialog1; + private DevExpress.XtraEditors.SimpleButton btnDbFileFind; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem20; + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxExcelFile.cs b/LFP_Manager/Forms/fmxExcelFile.cs new file mode 100644 index 0000000..25700d4 --- /dev/null +++ b/LFP_Manager/Forms/fmxExcelFile.cs @@ -0,0 +1,363 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Linq; +using System.Windows.Forms; +using DevExpress.XtraEditors; +using System.Data.SQLite; + +using System.IO; + +using LFP_Manager.DataStructure; +using LFP_Manager.Function; +using LFP_Manager.Utils; + +namespace LFP_Manager +{ + public partial class fmxExcelFile : DevExpress.XtraEditors.XtraForm + { + #region VARIABLES + + string[] dbFiles; + //private string Excel03ConString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1}'"; + //private string Excel07ConString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1}'"; + //Workbook workbook; + DataSet dsCell; + DataTable dtCell; + + CommConfig Config; + + #endregion + + #region CONSTRUCTORS + + public fmxExcelFile(CommConfig aConfig) + { + InitializeComponent(); + + Config = aConfig; + //tbSchema.Text = "select * from TInventoryData" + "\r\n" + "where pcb_sn like 'BMU18SA20120169%'"; + } + + #endregion + + #region FORM EVENT + private void fmxExcelFile_Load(object sender, EventArgs e) + { + string dbfilePath = Path.GetDirectoryName(Application.ExecutablePath) + @"\db"; + dbFiles = Directory.GetFiles(dbfilePath, "*.db", SearchOption.AllDirectories); + + if (dbFiles.Length > 0) + { + for (int i = 0; i < dbFiles.Length; i++) + { + cbLotNo.Properties.Items.Add(Path.GetFileName(dbFiles[i])); + } + cbLotNo.SelectedIndex = 0; + } + } + #endregion + + // Copy Table Value + // INSERT INTO TModuleResultBak SELECT * FROM TModuleResult + // INSERT INTO [TModuleBmsBak] (sn, result, module_ocv_b) SELECT sn, result, module_ocv_b FROM TModuleBms + + #region BUTTON EVENT + private void btnFindFile_Click(object sender, EventArgs e) + { + OpenFileDialog oDialog = new OpenFileDialog(); + oDialog.DefaultExt = "*.*"; + oDialog.Filter = "excel files 2003 (*.xls)|*.xls|excel files 2007 (*.xlsx)|*.xlsx|All files (*.*)|*.*"; + + if (oDialog.ShowDialog() == DialogResult.OK) + { + edFileName.Text = oDialog.FileName; + + try + { + dsCell = csExcelControl.OpenExcelDB(edFileName.Text); + + cbResultList.Properties.Items.Clear(); + for (int i = 0; i < dsCell.Tables.Count; i++) + { + cbResultList.Properties.Items.Add(dsCell.Tables[i].TableName); + } + cbResultList.SelectedIndex = 0; + + dtCell = dsCell.Tables[0]; + + gridCell.DataSource = dtCell; + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } + + private void btnDbFileFind_Click(object sender, EventArgs e) + { + OpenFileDialog oDialog = new OpenFileDialog(); + oDialog.DefaultExt = "*.*"; + oDialog.Filter = "db files (*.db)|*.db|All files (*.*)|*.*"; + + if (oDialog.ShowDialog() == DialogResult.OK) + { + Forms.fmxWait WaitForm = new Forms.fmxWait(); + WaitForm.StartPosition = FormStartPosition.CenterScreen; + + edFileName.Text = oDialog.FileName; + + try + { + WaitForm.Show(); + + int count = 0; + DateTime bakTime = new DateTime(); + DataTable dtRD = new DataTable(); + DataTable dtWR = new DataTable(); + if (csDbUtils.DbQuaryExcuteToDataTable(edFileName.Text, "select * from TModuleValue", ref dtRD) > 0) + { + string dbfilepath = Path.GetDirectoryName(edFileName.Text); + string dbfilename_new = dbfilepath + @"\" + Path.GetFileNameWithoutExtension(edFileName.Text) + @"_new.db"; + csDbUtils.CreateLogDbFile(dbfilename_new); + + foreach (DataRow aRow in dtRD.Rows) + { + DateTime bTime = Convert.ToDateTime(String.Format("{0:yyyy/MM/dd HH:mm:ss}", aRow["create_date"])); + if (bakTime != bTime) + { + csDbUtils.DbInsertDataToDbFile(dbfilename_new, aRow); + bakTime = bTime; + } + //aRow["create_date"] = String.Format("{0:yyyy/MM/dd HH:mm:ss}", aRow["create_date"]); + + WaitForm.SetDescription(String.Format("{0}//{1}", count, dtRD.Rows.Count)); + Application.DoEvents(); + count++; + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + finally + { + if (WaitForm != null) + WaitForm.Close(); + } + } + } + + private void btnExcuteTCell_Click(object sender, EventArgs e) + { + if (tbSchema.Text != string.Empty) + { + try + { + //string path = cbLotNo.Text.Substring(0, 9); + //string path = cbLotNo.Text; + string path = dbFiles[cbLotNo.SelectedIndex]; + DataTable aaa = csDbUtils.DbSqlExcuteA3(path, tbSchema.Text); + if (aaa != null) + { + gridCell.DataSource = aaa; + edResultCount.Text = String.Format("{0}", aaa.Rows.Count); + + if (aaa.Rows.Count > 0) + { + var ddd = aaa.Rows[0]["module_sn"]; + byte[] ccc = Encoding.UTF8.GetBytes(ddd.ToString()); + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); + } + } + } + + private void btnOpenSchema_Click(object sender, EventArgs e) + { + OpenFileDialog oDialog = new OpenFileDialog(); + oDialog.DefaultExt = "*.*"; + oDialog.Filter = "sql files (*.sql)|*.sql|All files (*.*)|*.*"; + + if (oDialog.ShowDialog() == DialogResult.OK) + { + string text = System.IO.File.ReadAllText(oDialog.FileName); + tbSchema.Text = text; + } + } + + private void btnQueryExcute_Click(object sender, EventArgs e) + { + if (tbSchema.Text != string.Empty) + { + gridCell.DataSource = csDbUtils.DbSqlExcuteA(Application.ExecutablePath, tbSchema.Text, "mBMS_16S"); + } + } + + private void btnInsertDbByTable_Click(object sender, EventArgs e) + { + } + + private void btnCheckGroupData_Click(object sender, EventArgs e) + { + tbSchema.Text = "select * from TInventoryData"; + } + + private void btnCreateNewDb_Click(object sender, EventArgs e) + { + string ModelName; + + ModelName = csConstData.UART_MODEL[Config.UartModelIndex]; + + csDbUtils.LogDbCreateNew(ModelName); + } + + private void btnCheckMeasData_Click(object sender, EventArgs e) + { + tbSchema.Text = "delete from TInventoryData where pcb_sn=''"; + } + private void btnOutputAll_Click(object sender, EventArgs e) + { + if (cbResultList.Properties.Items.Count > 0) + { + for (int i = 0; i < cbResultList.Properties.Items.Count; i++) + { + string sn = cbResultList.Properties.Items[i].ToString(); + MakeOutpuDataExcel(sn, cbLotNo.Text); + } + } + } + private void btnModuleResult_Click(object sender, EventArgs e) + { + // + try + { + string dbFilePath = dbFiles[cbLotNo.SelectedIndex]; + string sql = String.Format("SELECT * FROM TInventoryData") + + String.Format(" where pcb_sn like '{0}%'", tbPcbSn.Text) + ; + DataTable dtBmsData = csDbUtils.DbSqlExcuteA3(dbFilePath, sql); + dtBmsData.TableName = "TInventoryData"; + + if ((dtBmsData != null) && (dtBmsData.Rows.Count > 0)) + { + cbResultList.Properties.Items.Clear(); + + for (int i = 0; i < dtBmsData.Rows.Count; i++) + { + cbResultList.Properties.Items.Add(String.Format("{0}", dtBmsData.Rows[i]["pcb_sn"])); + } + gridCell.DataSource = dtBmsData; + edResultCount.Text = dtBmsData.Rows.Count.ToString(); + cbResultList.SelectedIndex = 0; + } + else + { + MessageBox.Show(String.Format("No TModuleResult data - {0}", dbFilePath)); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + } + } + private void btnResultListClear_Click(object sender, EventArgs e) + { + cbResultList.Properties.Items.Clear(); + } + + private void btnBmsBmsDataMerse_Click(object sender, EventArgs e) + { + } + + private void btnOpenDbFolder_Click(object sender, EventArgs e) + { + System.Diagnostics.Process ps = new System.Diagnostics.Process(); + ps.StartInfo.FileName = "explorer.exe"; + ps.StartInfo.Arguments = csLog.GetDbFolder(Application.ExecutablePath); + ps.StartInfo.WorkingDirectory = csLog.GetDbFolder(Application.ExecutablePath); + ps.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal; + + ps.Start(); + } + #endregion + + #region COMPONENT EVETNT + private void cbResultList_SelectedIndexChanged(object sender, EventArgs e) + { + string tbName = ""; + tbName = cbResultList.Text; + + if ((dtCell != null) && (dtCell.Rows.Count > 0)) + { + if (tbName != "") + { + int index = cbResultList.SelectedIndex; + dtCell = dsCell.Tables[index]; + gridCell.DataSource = dtCell; + } + } + } + #endregion + + #region MAKE OUTPUT FUNCTION + private void MakeOutpuDataExcel(string mSN, string dbFile) + { + DateTime aDate = DateTime.Now; + string filename = String.Format("{0}_PR_57150.xls", mSN); + string filepath = + Path.GetDirectoryName(Application.ExecutablePath) + + String.Format(@"\output\{0}\", csDbUtils.MakeLotNumber(mSN)) + + filename; + + DataTable dtModuleResult = new DataTable(); + DataTable dtCellResult = new DataTable(); + + string sql; + sql = String.Format("SELECT * FROM TModuleResult where m_sn = {0}", mSN); + dtModuleResult = csDbUtils.GetDataTableBySelectFromDbName(dbFile, sql, "TModuleResult", "mBMS-16S"); + dtModuleResult.TableName = "TModuleResult"; + dtModuleResult.AcceptChanges(); + + sql = String.Format("SELECT * FROM TCellResult where m_sn = {0}", mSN); + dtCellResult = csDbUtils.GetDataTableBySelectFromDbName(dbFile, sql, "TCellResult", "mBMS-16S"); + dtCellResult.TableName = "TCellResult"; + dtCellResult.AcceptChanges(); + + if (dtModuleResult.Rows.Count == 0) throw new Exception(String.Format("No ModuleResult data ({0})", mSN)); + if (dtCellResult.Rows.Count == 0) throw new Exception(String.Format("No CellResult data ({0})", mSN)); + + csExcelExport.ExportToExcel(dtModuleResult, filepath); + csExcelExport.ExportToExcel(dtCellResult, filepath, false); + } + + private DataTable GetModuleResultTable(string dbFileName) + { + DateTime aDate = DateTime.Now; + + DataTable dtModuleResult = new DataTable(); + + string sql; + sql = String.Format("SELECT * FROM TModuleResult"); + dtModuleResult = csDbUtils.GetDataTableBySelectFromDbName(dbFileName, sql, "TModuleResult", "mBMS-16S"); + dtModuleResult.TableName = "TModuleResult"; + dtModuleResult.AcceptChanges(); + + if (dtModuleResult.Rows.Count == 0) throw new Exception(String.Format("No ModuleResult data ({0})", dbFileName)); + + return dtModuleResult; + } + + #endregion + + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxExcelFile.resx b/LFP_Manager/Forms/fmxExcelFile.resx new file mode 100644 index 0000000..ed11552 --- /dev/null +++ b/LFP_Manager/Forms/fmxExcelFile.resx @@ -0,0 +1,4574 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + AAABAAQAICAAAAEAGACoDAAARgAAADAwAAABABgAqBwAAO4MAACAgAAAAQAYACjIAACWKQAAAAAAAAEA + GAAoIAMAvvEAACgAAAAgAAAAQAAAAAEAGAAAAAAAgAwAAAAAAAAAAAAAAAAAAAAAAAD///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////+/v7+/v7+/v7+/v7+/v7+/v7+/v7/ + ///+/v7////////////////////////////////////////////////////////+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7////+/v7+/v3+/v3+/v3+/v7+/f3////////+/v7///////////////////// + ///////////////////////////+/v7////+/v7+/f3+/v7+/v3+/v3+/v3+/v7////7+ff///////// + ///////////////+/v3+/v7////+/v7////////////////////////////////////////+/v7////+ + /v7+/v7////////////////////////7+PbCnHejazCkbTKkbDKlbjSdYTDLrIr////9/Pz+/v7///// + ///////////////////////////////////////////+/v79/fz////BnHSeYjClbjSkbDKkbDOjazDc + x7L49PGkbDKEOACKQwCJQQCHPgCNRwTt49n+/v39/Pz+/v7+/v7///////////////////////////// + ///+/v7+/v79/Pv//v7j0sKHPgCJQACJQQCLRACCNgCufkv////////q3tKOSQePSgSPSwKRTQSHPgCt + e0f////9/Pv+/v7////////////////////////////////+/v7////9/f39/Pv9/PuiaS6JQQCQTQOP + SwKNSAOUUxLz7ef+/f37+Pb////AmnKGOwCQTAKOSQCPSwKHPwDaxa7////8+/r+/v7+/v7///////// + ///////////+/v7///7+/v77+vj////OsJGGPACQTAKOSQCQTAKGPADNr4/////7+ff9/Pv9/fz38u6Z + WhuLQwCPSgGPSgGLRQGcXyH59vP9/fz9/fz////+/v7////////+/v7+/v7////+/v77+vn////u5NqS + Tw+OSAKOSQCPSwKJQACiai/8+vn9/Pz9/f3+///9/Pv////WvqWHPQCQTAOOSQCQTQOGPADDn3j////8 + +/r+/v7////+/v7+/v7+/v79/fz8+/r9/f3////u49mdYSiKQwCPSwGOSQCPSwKKQgDi0L/////9/Pv+ + /v7//v7+/v79/Pz///+seUOIPwCQTAKOSQCOSQKNSAbq39P+/v39/Pz+/v7////////////////////+ + /v7SuJ6WVRiLRQCRTwaQTASSUAeHPgC4jV7////9/Pv+/v7////+/v7+/v79/Pz+/v7r39SOSQeOSgKO + SQCQSwKHPwCsekT+/v/9/Pz+/v78+/r49PDy6uPi0cDDn3yZXB9/MACEOACHPgCGOwCFPACEOgCTURDz + 7Ob9/fz9/f3////+/v7////////+/v78+/r////CnneGPACQTAKOSQCQTAKHPgDYwan////9/Pz38u7o + 2szgzbvTuZ/MrY/St5zeyrTcyLLcx7Hcx7HdybPVvKfl1cX////9/fz+/v7+/v7////////+/v7////9 + /f39/Pz59fObXiCKQwCPSgGPSgGLRAGaXB349PH9/fz+/v/////////////////28e3AmnrEn3rDn3nE + oXu+lnbcxrD////9/Pv+/v7////////////////////+/v7+/v79/Pv////bxa+HPgCPSwKOSQCQTAKG + PADAmnH////8+/r9/fz9/Pv7+ff9/Purd0F/MACGOwCFOgCEOQCEOADj0sH+/fz9/Pz+/v7+/v7///// + ///////////////////+/v79/Pz///+ufkqHPgCQTAKOSQCOSgKNRwPp3M/+/v79/Pv8+/r////YwaqH + PgCSTwaQTAOSTwaHPgDDn3n////9/Pv+/v7////////////////////////////+/v7+/v79/Pz+/v7t + 4tiNSAaNSAKOSQCQTAKJQQCqd0D+/v79/Pv9/fz49fKbXyCMRQGPSwGPSgGLRAGYWRn38+/9/fz9/f3/ + ///+/v7///////////////////////////////7+/v79/Pv////EoHqFOwCQTQOOSQCQTQOHPwDUu6H/ + ///////Dn3iGPQCQTQOOSQCQTAOGPQDWvaT////9/Pv+/v7+/v7///////////////////////////// + ///+/v7////9/f39/Pv59vScYCOLRQGPSwKPSgGMRQGWVhf7+ffu5duNSAaOSQKOSQCQTAKJQQCqd0D+ + /v79+/r+/v7////////////////////////////////////////////+/v7+/v78+/r////cx7GJQgCQ + TAOOSQCQTAKFOwC/mXKzhVSGPACQTAKOSQCPSgKOSQfq3dH////9/Pv+/v7+/v7///////////////// + ///////////////////////////////+/v79/Pv///+wgU6HPgCQSwKOSQCPSgGMRgCMRwCPSgCOSQCQ + TAKGPADAmnH////9/Pr+/v7////////////////////////////////////////////////////+/v7+ + /v79/Pz+/v3u5NuPSwmNRwGOSQCPSgCPSwGPSgGPSQCPSgGLRACYWRn38u79/fz9/fz///7+/v7///// + ///////////////////////////////////////////////////+/v79/Pv////HpoKFOwCQTQOOSQCP + SgCPSgCOSQCQTAOGPQDVvaP////9/Pv+/v7+/v7///////////////////////////////////////// + ///////////////+/v7////9/f39/fz7+fefZSiIQACOSQCNRwCNRwCOSQCGPQCrd0H+///9/fz+/v7/ + ///////////////////////////////////////////////////////////////////+/v7+/v79/Pv/ + ///fzLmSTxWXWBWWVhSWVhSWVhSWVRrq3dH////9/Pz+/v7+/v7///////////////////////////// + ///////////////////////////////////////////+/v7+/v7////38+728e328e328e328Oz49fD/ + ///+/v7+/v7///////////////////////////////////////////////////////////////////// + ///////+/v7////////+/v3////////////////////////+/v3////////+/v7///////////////// + ///////////////////////////////////////////////////////////+/v7////+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7////+/v7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACgAAAAwAAAAYAAAAAEAGAAAAAAAgBwAAAAAAAAAAAAAAAAAAAAAAAD///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7////+/v7+/v7///////// + ///////////////////////////////////////////////////////////////////////////////+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////// + /////////v7+/v7///////////////////////////////////////////////////////////////// + ///////////////////////////+/v7////////+/v7///////////////////////////////////// + ///38u38+vn8+vj8+vj8+vj8+vj8+vj8+vj7+ff////+/v3+/v7+/v7+/v7///////////////////// + ///////////////////////////////////////////////////////////////+/v7+/v7+/v7////7 + +ff8+vj8+vj8+vj8+vj8+vj8+vj7+ff59fK7kmmbXh+cXyCcXyCcXyCcXyCbXyCdYSGWVR3Fon3////9 + /Pz+/v7///////////////////////////////////////////////////////////////////////// + ///////+/v7+/v79/f39/fz///+1iFqXVx2cYCGcXyCcXyCcXyCcXyCbXiCcYCPn2Mv7+fencTqDOACM + RgCLRACLRACLRACLRACKQwCMRQLq3tL////9/Pz+/v7///////////////////////////////////// + ///////////////////////////////////////////+/v79/Pz////Zw6uGOwCMRQCLRACLRACLRACL + QwCNRwCCNQC4jmH////////r39SNRwWOSgOOSgGPSgGPSgGPSgGQTAOIPwCpdD3////9/fz9/f3////+ + /v7////////////////////////////////////////////////////////////////+/v7+/v79/f3+ + /f359vOZWxyLRACQSwKPSgGPSgGPSgGPSgGMRQKXWBn49PD+/fz8+vn////BnHWFOgCQTAGOSQCPSgCP + SgCOSQCPTAKFOwDVvaT////9/Pv+/v7///////////////////////////////////////////////// + ///////////////////////+/v79/Pv////BnXaEOgCQTAKOSQCPSgCPSgCOSQCPSwGGOwDVvKL////8 + +/r9/Pz9/f349fKZXB2KQwCPSgGOSQCOSQCOSQCPSgGLRAGXWBj38+/+/f39/f3+/v7+/v7///////// + /////////////////////////////////////////////////v7+/v79/fz+/v7r39SMRwWNSAGOSQCO + SQCOSgCOSQCPSwGHPgCpdT7////9/Pz+/f3+/v79/Pv////YwquGPACPSwGOSQCPSgCPSgCOSQCQTAGF + OgC+l23////9/fz+/v7////+/v7////////////////////////////////////////////////+/v7+ + ///9/f39/Pv///+qdkGHPQCPSwGOSQCPSgCPSgCOSQCOSAGLRALp3dH////9/Pv+/v7+/v7+/f39/fz/ + //+se0aHPgCQTAKOSQCPSgCPSgCOSQCOSQKLRALn2s3//v79/Pz+/v7///////////////////////// + ///////////////////+/v7+/v7////+/v78+vn////Rt5qGPACQSwKOSQCPSgCPSgCOSQCQTAKFOwC/ + mXL////9/Pz+/v7////////+/v79/fz///7s4deNSAeNSAGOSQCOSQCOSQCOSQCQSwKHPgCnczv+/v79 + /Pz9/f3+/v7+/v7////////////////////////////+/v7+/v7////////9/f38+/r////j08KNSQiN + RgGOSgCOSQCOSQCOSQCPSgCLRACYWhv48/D+/f39/f3+/v7+/v7+/v7////+/v79/Pz////Dn3qFOgCQ + TAGOSQCPSgCPSgCOSQCQSwGGPADSuJ3////9/Pz+/v7////////////////////////+/v7+/v7///// + ///+/v79/Pv////////cx7KPTA2LRQCPSgCOSQCPSgCPSgCOSQCPSwGGPADWvqb////9/Pz+/v7///// + ///////////+/v79/f3+/f359/SbXiCKQgCPSgGOSQCOSQCOSQCPSgCLRQCVVBT18Oz+/f39/fz+/v7+ + /v7////+/v7+/v7+/v7+/v7+/f39/Pz9/Pv////////49PC/mHSKQgCMRQCPSgCOSQCPSgCPSgCOSQCQ + TAKGPQCreEL////9/Pz9/f3+/v7+/v7////////////////+/v79/Pv////axK6FPACPSwKOSQCPSgCP + SgCOSQCQTAKEOQC8lGn////9/Pv+/v7////////////////////////////////////49fLQs5ibXyWH + PgCPSwKQTQOQSwKQTAOQTAKQTAKPSwOOSgOMRQPq3tP////9/Pz+/v7////////////////////+/v7/ + ///+/v39/Pz///+vf0uHPgCQSwGOSQCOSgCPSgCOSQCOSQGLRAHm18n////9/fz+/v7////+/v36+Pb5 + 9fLz7ejo2s3RtpuwgFCNRwN9LQCCNQCHPgCGOwCFOwCGOwCGOwCGOwCFOwCGPAB/MADCnnj////9/Pz+ + /v7////+/v7////////////////////+/v7+/v79/fz///7v5t6PSgiNRwGOSQCPSgCOSQCOSQCPSwGJ + QAClbjX+/f39/f39/f3//v769/XfzbjZw67QtJrEoX67kmq6kGa/mXLDn3rEoHzEoHvEoHvEoHvEoHvE + oHvEoHvDoHvDnnvEoH369/X+/v79/f3+/v7+/v7////////////////////////////////+/v79/Pv/ + ///GpICFOgCQTAKOSQCPSgCPSgCOSQCQTAKGPADQtJf////9/Pz+/v7///////////////////////// + ///////////////////////////////////////////////////////+/v7+//////////////////// + ///////////////////+/v7+/v79/f3+/f36+PadYiSKQwCPSgCOSQCOSQCOSQCPSgGMRgGUVBP07uj+ + /v39/fz+/v7+/v7+/v3+/f39/fz9/Pv7+vj+/f3cyLSXVyGcYCKcXyCcXyCcXyCcXyCdYSKUUxzDn3z9 + /Pz9/Pz9/f3////+/v7////////////////////////////////////////+/v79/Pz////cx7KHPwCP + SgGOSQCPSgCPSgCOSQCQTAKGPAC5kGP////9/Pv+/v7//v7+/v7+/v7+/v79/f39/fz7+feeYyaGPACL + RQCLRACLRACLRACLRACIQACQTAnw59/+/v79/f3+/v7+/v7///////////////////////////////// + ///////+/v7///79/f39/Pv///+xglCGPACQSwGOSQCPSgCOSQCOSQCOSQGKQgDk1MT////9/fz+/v7/ + ///////+/v79/Pz////HpoOFOgCQTAKOSgCPSgGPSgGOSgGQTAKFOwDPs5b////9/Pv+/v7///////// + ///////////////////////////////////////////+/v/+/v79/Pz+/v7w59+PSgiMRgGOSgCPSgCP + SgCOSQCPSwGIQACiajD+/f39/f39/f3///7+/v79/fz+/v7w6OCPSgmNRwGOSQCOSQCOSQCOSQCPSwKI + PwCiaS79/fz9/fz9/f3+/v7+/v7///////////////////////////////////////////////////7/ + ///+/v79/Pv////Ip4WFOgCQTAKOSQCPSgCPSgCOSQCQTAKEOQDOsZP////9/Pv+/v7+/v79/Pv///+x + glGFOwCQTAKOSQCPSgCPSgCOSQCOSgKIQADj08L////9/Pz+/v7///////////////////////////// + ///////////////////////////////+/v7+/v79/f39/f38+vmeZCeJQQCPSwGOSQCOSQCOSQCPSgGM + RQGRTw7z7ef+/v39/f39/Pz////fzLiHPQCPSgGOSQCPSgCPSgCOSQCQTAGFOwC4jF/////9/fz+/v7+ + /v7+/v7////////////////////////////////////////////////////////////////+/v79/fz/ + ///fzLqHPgCOSgGOSQCPSgCPSgCOSQCQTAGFPAC3jF7////9/Pz+/f38+vifZCiJQQCPSwGOSQCOSQCP + SgCOSgGLRQGTURDz7ef+/v39/f3+/v7///////////////////////////////////////////////// + ///////////////////+/v7////+/v79/Pv///+zhVWFOwCQTAKOSQCPSgCPSgCOSQCOSgKJQQDi0cH+ + /v7////JqYeFOgCQTAKOSQCPSgCPSgCOSQCQTAKEOgDNsJH////9/Pv+/v7////+/v7///////////// + ///////////////////////////////////////////////////////+/v7+/v79/fz+/v3w6eGRTQyN + RwGOSQCOSQCOSQCOSQCPSwKJQQChaC7////x6eKRTgyNRgGPSgCPSgCOSQCOSQCPSwGJQQCiajD8+/r9 + /fz9/f3+/v7+/v7///////////////////////////////////////////////////////////////// + ///////////////+/v79/Pz////LrIuFPACQTAGOSQCPSgCPSgCOSQCQSwGFOwDPspW5j2SGPACQSwGO + SQCPSgCPSgCOSQCOSgGJQgDj0sL////9/Pz+/v7///////////////////////////////////////// + ///////////////////////////////////////////+/v7+/v79/f39/fz9/PygZyuJQACPSwGOSQCO + SQCOSQCOSQCOSACOSACNSACOSQCOSQCPSgCPSgCOSQCQTAKFOwC3i13////9/Pv+/v7////+/v7///// + //////////////////////////////////////////////////////////////////////////////// + ///+/v79/Pv////hz72JQACPSwKOSQCPSgCPSgCOSQCPSgCOSQCOSQCPSgCOSQCOSQCOSQCOSQCMRgGS + UA/y6+X+/v39/fz+/v7+/v7///////////////////////////////////////////////////////// + ///////////////////////////////+/v7////+/v79/fz///+1iVuGPACQSwGOSQCPSgCPSgCOSQCP + SgCPSgCOSQCPSgCPSgCOSQCQTAGFOgDNrpD////9/Pz+/v7///////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7+/v79/f3+ + /v3y6+SSUA6MRQGOSgCOSQCOSQCPSgCPSgCPSgCPSgCOSQCOSQCPSwGIQAChaS78+/r9/Pz9/f3+/v7+ + /v7///////////////////////////////////////////////////////////////////////////// + ///////////////////////////+/v79/Pv////NsJGFOwCQSwGOSQCPSgCPSgCPSgCPSgCOSQCPSgCO + SQCOSQGJQQDi0cD////9/Pv+/v7///////////////////////////////////////////////////// + ///////////////////////////////////////////////////////+/v7+/v79/f39/Pz8+/qiai+J + QACRTQSPSwKQSwKQSwKQSwKQSwKPSwKRTgSGPAC2iVr////9/Pv+/f3////+/v7///////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////+/v79/Pv////j08KGPQCHPQCHPgCIPgCIPgCIPgCIPgCHPwCFOgCRTgvy6uP+/f39 + /fz+/v7+/v7///////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////+/v7////+/v79/f3////JqIeufFOzhVezhFaz + hFazhFayhFazhVete1TWvqb////9/fz+/v7///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/v7+/v7+/v3////////////////////////////////////////+/v3+/v7+/v7+/v7///////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////+/v7+/f3+/f3+/fz+/fz+/fz+/fz+/fz+/fz+ + /f3+/f3///////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAgAAAAAABAAABABgAAAAAAADIAAAAAAAAAAAAAAAA + AAAAAAAA//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////v7+/v7+//////////////////////////////////////////////////////////// + /////////////////////////////////////////fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v39/v7+/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////v7+/////v7+/f38/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/////v7+ + /f39//////////////////////////////////////////////////////////////////////////// + ////////////////////////2MCn3Maw3Maw3Maw3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew + 3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Maw3Mex2cOs8uvk/v7+/f39/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+/f39////4tHA2sSs3Mex3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew + 3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mex3Mew3Mex2cKr9vHtqXQ9ikIAiUEAiUEAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAiUEAikMAgzgAq3hH/v39 + /fz8/v79/v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7+/fz8////49PCiUIBiUEAiUEA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAiUIAiUEAi0MAgzkA + nmMq+vj1/v39sYJUhz4AkU0Ej0oBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0oBj0oBkEwDhz0A1buh/////fz7/v7+/v7+/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v39/Pz8/Pr5pGw1iEAAkE0Dj0oBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sBj0sDjEYG49LC////////7OLWkU4PjEYBj0oBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAj0sBikQAmFod9fDq/v39/v39/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////7+/v7+/v7+/v7+/Pv6////za+QhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChjsAuo9l////+/n4+ff1//// + x6aFhDsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAkEwChTwAv5dw/////Pz7/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/f38/v798evik1IV + i0UBj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkoA + j0oBi0QBlVQX8+zl/f39/fz8/fz8/fz8+vbzoGYuiEAAj0sBjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjkoAjkkAjUkBjEgG6NvN/////fz8/v7+/v7+/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////7+/f7+/v7+/fz7////topehjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sChTwA0LWY/////Pv7/v7+/v///Pz7////3sq3iEABjkoC + jkkAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEsC + hz8Ap3I//fz7/fz8/v79/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v39/v///Pz7////3867iEAAjkoCjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEsChz8ApnE5/fz8/Pz7 + /v7+/v7+/v7+/v7+/Pv7////tIZYhjwAkEwBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0sChTwA0rec/////Pz7/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/v79/fz8 + +/r4oWgwiEAAj0sBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + j0kAjkkAjkoAjkkBikQF5dbG/////fz7/v7+/v7+/v7+/v7+/fz8/v7+8OffkU8QjEYBj0oAjkkAjkoA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAj0oBikMAllcb9O/p + /v39/f38/v7+/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/v7+/Pz7////yquLhTsAj0wCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChToAu5Nq/////Pz7//7+/v7+/v7+/v7+/v7+ + ///+/Pz7////y6yNhTsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAkEwBhTsAu5Rr/////Pz7/v7+/v7+/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz8/v7+7+bckU4PjEYBjkkBjkkA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjUkAj0oBi0QBllcb + 9e/p/v39/f38/v7+/v7+/////////v7+/v7+/v79/fz8+vj1oWgwiUEAj0sBjkgAjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkCi0QF5NXG/////fz8/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+//7+/f39 + /v7+/fz7////tIdZhjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkAj0sChj0A0rec/////Pz7/v7+/v7+/////v7+/v7+/////v7+/v7+/Pz7//// + 38y4ikIDj0oCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0sBhz8Ap3I8/Pv5/fz8/v39/v79/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////v7+/v7+/Pz7////3sm2iUIBj0oBjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEsCiD8AqHM+/fz7/Pz8/v7+/v7+/v7+ + /v7+/////////v7+/v7+/v7+/v7+/Pv7////topehTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAkEsChjwA0bWa/////Pv6/v7+/f39/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/f39/fz8+vj2n2UriUEA + j0sBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkoA + jkgBjEYG5tjJ/v7+/f37/v7+/v7+/////////////////////////v7+/v7+/f39/v398uriklETi0YB + j0oAjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oB + i0UAlVYZ8+3m/f79/f38/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/v7+/Pv6////yKeFhTsAkEwCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChjwAvpZv/////Pz7/v/+/v7+/v7+/v7+//////////////// + /v7+/v7+/v7+/v7+/Pz7////za6QhTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTwAuZBm/////Pv6/v7+/v7+/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v79/v7+/fz7/v7+7ePYkU4QjEcBjkkBjkkAj0oAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0QBmFof9e/p/f39/v39 + /v7+/v7+/////////////////////////////////v7+/v7+/v7+/fz8+/n3o2s1iUEAkEsBjkkAjkkA + jkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAjkkCikQD5NPD + /////Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v79/Pv7/v/+ + sIFShjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAj0sChj0A1Lqg/////Pz7/v/+/v7+/////v7+/////////////////////////v7+/////v7+ + /v7+/fz7////4tHBikMEjkkCjkoAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0sBiEAApW43/Pv5/fz7/v39/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/////Pv6////2sawiD8Aj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEsChz8AqnhE/v79/Pz7/v7+/v7+/v7+/v7+//////// + /////////////////////////v7+/v7+/v7+/v7//fz7////uI1hhj0AkEwCjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0wChj0AzrCT/////Pv6/v7+ + /f39/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/v7+/f38/f389vLtm18jikMAj0oBjkkAjkkA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkoAjUgBjUgH6NzO + /v7+/fz8/v/+/v7+/////////////////////////////////////////////////v7+/v7+/f38/v39 + 8uvjlFUWi0UBj0oBjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0oAjkkAj0oBjEYBlFMW8enh/v79/fz7/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7//v7+//7+/f39 + /Pv6////t4thhjwAj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAkEwChTsAwJp0/////fz6/v7+/v7+/v7+/v7+//////////////////////////// + /////////////v7+/////v7+/v7//Pv7////zrGUhjwAj0wCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwChjwAt4xg/////Pv7/v7+/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7//v3+/Pr6////0bWYhj0Aj0sCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkkAjkkAj0sBi0MAmVsg9vHs/v39/f39/v7+/v7+//// + /////////////////////////////////////////////////v7+/v7+/v7+/v7+/f38/Pr4pW85iD8A + kEsCjUkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + jkoCikIC4tHA/////Pv7/v7+/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7++/r5////38y4i0UHjUgBjkoA + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0wC + hz4A1r6m/////Pz7/v7+/v7+/////v7+//////////////////////////////////////////////// + /////////v7+/v7+/fz8////49LCjEYFjkkCjkoAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBiEAAomoy+/n2/fz7/v39/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v7+/v7+ + /v7++/r5////5NTCj0wQi0UAj0oAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAkEwChz8ArHpI/v7+/fz7/f79/v7+/v7+/v7+//////////////////// + /////////////////////////////////////v7+/////v7+/v7+/Pz7////upBnhTwAkEwCjUgAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0wChToAyqyM + /////Pv6/v7+/v7+/////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/////v7+/v7+/v7+/f39/Pr5////4c+9kE0SikQAj0sBjkkAjkkAj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjUgCjkoJ6d3R/v7+/f38/v7+ + /v7+/////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v39/f399O3nl1gci0UBj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oAjkkAj0oAi0UBk1ET8Ofe/v39/fz7/v7+/v7+/////v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////////v7+//7+/v7+/Pv6/f38////1LuijkkLi0QA + j0sBjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChjwAwp14/////Pv6/v7//v7+/////v7+//////////////////////////////////////// + /////////////////////////////////v7+/v7+/Pv6////0baahj4AkEwCjkkAjkkAj0oAj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwBhTwAtYlc/////Pv6/v7+ + /v7+/v7+//////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/////v7+/v7+/v7+ + /v79+/v5////+/n1wJp1iEEAjUYAj0wBjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBikMAnWAn9/Lu/fz7/f39/v7+/v7+/v7+//////////// + /////////////////////////////////////////////////////////////v7+/v7+/v7+/v7+/Pz7 + /Pv5p3I9iD4AkEwCjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAj0oCiUEA3826/////Pv6/v7+/v7+/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/////////v7+/v7+/v79/Pv6/f3+////6dzPpW89hjwAj0oBj0oBjkkAjkkAj0oAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAj0sChz4A2MKq//// + /Pv6/v7+/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz7////5dbGi0UGjkkCjkoAjkkAj0kAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBiEAAoGct+vj1/fz7/v39/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/v7+/////////v7+/v7+/f39/fz7/fz8////+vj0xaOCjkkJhz8A + j0sBj0oAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAkEwChz0Arn1L/////Pv6/v7+/v7+/v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/////v39/v/+/Pv6////vZZuhjsA + kEwDjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUgA + j0wChDoAyKiI/////Pv6/v7+/v7+/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+///////////+/v7+/v7+/v79/Pv6 + /f38////////28ayn2cyhTwAjEcAj0sCjkkAj0oAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjUcCjkoK69/U/v7//fz7/v7+/v7+/////v7+ + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/f39/f399fDrl1kci0UBj0sBjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkoAjEUAkU4P7+bc/v79/fz7/v7+/v7+/////v7+//////// + /////////////////////////////////////////////////////////v7+/////v7+/v7+/////v7+ + /////v7+/v7+/v7+/fz8/Pv6/v7+////////4M68qnhHiD8AiUEAj0sCj0oAjkkAjkkAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkE0DhjwA + xaJ//////Pv7/////v7+/v7+/v7+//////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/Pv6////07qghz4Aj0wDjkkAjkkA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwBhjwAsoRU + /v///Pv6/v7+/v7+/v7+/////////////////////////////v7+/////v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+///+/v7+/v7+/////v7+/v7+/v79/fz8/Pv6/fz8////////+/n32sSvqnZHikIAhz8AjkoA + j0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjUkAj0sCikMAnmMp+PXx/f38/f39/v7+/v7+//////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/Pz7/f38qXVBiEAAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAj0oBiD8A3cm0/////Pv6/////f39/v7+/v7+//////////////////// + /////////////////////////////v7+/////v7+/v7+/v7+/v39/fz7/Pv6/fz7/f7+//////////// + 7OHWyaiHn2UviD8Ahz4AjkkAj0sCjkkAjkkAjkoAjkoAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wDiEAA28Wv/////Pz7/v/+/v7+ + /////v7+//////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////v7+/v7+/fz7/v//6NrNjkkJjkkCj0kAjkkAjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBiUIAn2Ur+fb0/fz7/f39 + /v7+/v7+/////////////////////////v7+/v7+/v7+/v7+/f38/fv6/fz7/fz6/Pv6/fz8/fz8/v7/ + /////////////////Pz66dzPza6Qq3dGkE0Mhj0AikMAj0sCj0sCj0oAjkkAjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + kEwChz4AsIJS/v7//Pv7/v7+/v7+/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v7+/////Pv6 + ////v5lzhTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkgAkEwBhDoAxqSC/////Pv6/v7+/v79/v7+/v7+/////////////////v7+/////v7+/v7+ + /////////////////////////////v788+3l5NTE07icuY5moWgvj0sIhz4AiUIAj0oAkE0FkU0Dj0sC + kEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsB + kEsBkEsBkEsBkEsBkEsBkEsBj0sBkEwCjEgBkE4O7eTa/v7+/fz8/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/f38/f389vHsmVsgikMBj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAjEYBkEwN7ePY/v7+/fz7/v7+/f39//// + /v7+/////////////v7+/v7+/f38/v//28ayxqSAy6uKxKF6vJNssoReqHNEmVwlkEwKhjwAgTQAgDQA + hDoAiEAAikMAiUIAiEEAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAA + iEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiUIAgjYAx6WD/////Pv6 + /v7+/v7+/////v7+//////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/////v7+/v7+/Pv7////1r2khz4A + j0sCjkkAjUkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + kEwBhjwAsYFR/////fz7/v79/v7+/v7+/////////////////v7+/v7+/v39/v7+4M27za+O0bWW0LOU + z7OV0LOZ0bac07mg1ryk2MCo2cKr2cKs2MGq2MCp18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co + 18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co + 18Co18Co2MCo1r+n2MGq+vf0/v39/v79/v7+/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/v7+/Pv6/v39rHpIhz4Aj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0oBiUEA3May/////Pv6/////f39/v7+/v7+//////// + /v7+/////v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7//v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz7/v7+6d3RjUkJjUgBj0oAjkkA + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBikIAnWIn + +PXx/fz8/f39///+/v7+/////////////////v7+/////////v39/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz8/fz7+/n3+/n3+/n3+/n3+/n3+/n3 + +/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3/Pr4/fz7/fz8 + /fz8/v7+/////v7+/////v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v7+/Pv7////wZx2hDsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAkE0ChjwAxKF8/////Pv6/v7+/v7+/v7+/v7+/////v7+/////v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v///v7+/////v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/f39/f389/Ltm14iiUIAj0oBjkkAjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkoAjUgCkE0N7OHW/v7+/f38 + /v7+/v7+/////v7+//////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/f79/f39+vj20LSYzrCSz7GUzrGTz7GTz7GTz7GTz7GTz7GTz7GT + z7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTzrGTzrGTza+S0LSY+vj1/v7+/v79/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v7//Pz7 + ////2cKriD8Aj0sCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAkEwChz8Ar35O/v7+/fz8/v7+/v7+/v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/v7+/fz7////yaiIgDMAhz0A + hTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhjsAhTsAhDsAhz4A + fS0AtIdb/f38/Pz8///+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+/v7+/fz7/v//rn1Khz0Aj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sCiEAA2MGq/////Pz7/v///v7+/v7+ + /v7+/////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v7+/f38/v797+bdkU8PjUkDkU4Fj0wDkEwDkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0D + kE0DkE0DkE0DkE0DkEwDkE0DkU4FjEcFmVwe9/Pu/v7+/v38/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7//fz7/v7+69/UjkoL + jUgBj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + j0sCikMAm18j+PXw/f39/f39/v7+/v7+/////v7+//////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/fz7////tIZYhj0AkEwCjkgAjkkAj0oAjkkAjkkA + jkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAj0oAjkkAjkkAj0sChj0A0rec/////Pv7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/////Pv6////xKF9hTsAkEwCjkkAjkkAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTsAw596/////Pz7/v7+/v7+/v7+//////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/fz7////3sq3 + iUIAjkoCj0kAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkA + jkkAj0wBiD8AqHM+/fz7/Pz7/v7+/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v3+/v39/fz8+PXxnWIpiUIAj0sBjkkA + jkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkoAjUgBjkoK + 6t7S/v7+/fz8/v7+/v7+/v7+/v7+//////////////////////////////////////////////////// + /////////v7+/v7+/f39/f38+vj1oGgviUEAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkgCjEYH5tjJ/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /v7+/v7+/Pv6////2cStiEAAj0oCjkkAjkkAj0kAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkgAkEwChz4ArHpH/f38/fz8/v7+/v7+/v7+//////////////////////// + /////////////////////////////////v7+/v7+/v7+/v7+/fz8////y6yNhTwAkEwCjkkAjkkAj0kA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTwAvZRs//// + /Pv7/////v7+/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/v7+/Pv7/v7+r4FQhz0AkEwBjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkgAj0kAkEsChz4A17+n/////Pz7 + /v7+/v7+/v7+/v7+/////////////////////////////////////////////////////v7+/v7+/f38 + /v798enfklISjEYBj0oBjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAj0oBi0QAl1gb9O/p/fz8/v38/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/fz8 + /v7+7ePakE0NjEcBj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAj0sCikMBml0i9/Pu/f39/f39/v7+/v7+//////////////////////////////////// + /////////////v7+/v7+/v7+/v7+/Pz7////toldhj0AkEwCjkkAjkkAj0oAj0kAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjUkAjkkAj0sChTwA0baa/////Pv7/v7+/v7+/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+//7+/Pv6////x6SDhTsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjUgAjkkAkEwChTwAwZx1/////Pv7//7+/f39/v7+ + /v7+/////////////////////////////////////v7+/////v39/v7+/fz7////4M67ikICj0oCjkoA + jkgAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0sBiD8A + pnA8/Pv6/fz7/v7+/v7+/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v79/fz8+fbznmMq + iEEAj0sBj0kAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + jkoAjUkCjUgI59rM/////fz8//7+/f39/////v7+/////////////////////////////////////v7+ + /v7+/v39/f38+vj1oWgwiUEAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0kAjkkAj0kAjkkCi0QG5dXF/////fz7/v7//v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////v7+/v///Pz7////3cm1iEAAjkoCjkkAjUgAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChz8AqndD/fz7/fz7/v7+/v7+/v7+//////////// + /////////////////////v7+/v7+/v79/v7+/Pz7////y6uMhTwAkEwCjkkAjkkAjkoAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTsAu5Fn/////Pz7/v7//v7+ + //7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7+/Pz7////s4RVhjwAkEwCjkgA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkkAj0wChz4A + 1bui/////Pz7/v7+/f3+/v7+/v7+/////////////////////v7+/////f39/v7+/f38/v398Ojfk1ES + jUYBj0oBjkkAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + j0oBi0UBllYa8+zl/fz9/v38/v7+/v7+/v////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7//f38/v797+XckE0OjEYAj0oAjUgAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAj0sBi0QBmVoe9vHr/f39/f39///+/f39/////v7+//////////////// + /////v7+/v7+/v7+/Pz7////tYldhj0AkEwCjkkAjkkAj0oAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0oAjUkAjkkAj0wChTsA0bWZ/////Pv6/v7+/v7+/v7+//7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/v7+/Pz7////yKiGhDoAkEwDjkkAjkkAj0oAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkgAjkkAkEwChjwAv5dw/////Pv6 + /v7+/v7+/v7+/////////////////v7+/v7+/v7+///+/fz7////4dC/ikMDj0oCjkkAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wCiD8ApW85/Pv5/fz7 + /v79/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/v39 + /fz8+/j1oGYtiUEAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAjkoAjkkCjEcG5tjK/////fv7//7+/v7+/v7+//7+/////////////v79/v7+/f39/fz8 + +/r4o2oziUAAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0oAjkkCi0UF5NTE/////fz8/v7+/v7+/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////v7+/v7+/fz7////3su4iUEBj0sCjkkAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEwChz8AqHRA/f38/fz7/f39/v7+/v7+ + /v///////v7+/v7+/v7+/v/+/Pv7////za+RhTwAkEwCjkkAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkE0ChjwAu5Jo/////Pz7/v7+/v7+/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/fz7////tIdZ + hjwAkEwCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + jkkAj0wChjwA0rec/////Pv6/v7+/f7+//7+/v7+/////v7+/v7+/f38/v7+8erilFITjEYBj0oBjkkA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0UAl1YZ + 8+3m/f39/f39/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/fz8/v398Offk1ISjEcBj0oAjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBi0QBl1ga9O7n/f38/f39/v7+/v7+/////v7+/v7+ + /v7+/Pv6////t4tfhjwAkEwCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0oAjkkAjkkAkEwChz4A0LWZ/////Pz7/v7//v7+/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+/v7+/Pv7////zK2Ohj0AkEwDjkkA + jkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkgAkEwChjwA + u5Nq/////Pv6/v7+/v7+/v7+/v7+/v7+/Pz7////4dC+ikMCj0oCjkkAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wCiEAAp3E7/Pv5/fz7/v79/v7//v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/////v7+/fz7+/j2o2sziUEAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkAjkkAjkoAjkkCjEcG5dbH/////Pz7/v7+/v7+/v7+/v39/fz8+/n3pG00iUEA + j0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0kA + jkkCikQE49PC/v7//fz8/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////4c+9iUICj0oCj0kAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBiEAAp3E7/Pv5/fz8 + /v79/v7+/v7+/Pv6////zK+Qhj0AkEwCjkkAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkgAkE0ChTwAuY9j/////Pv6/v7+/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/v7+/v7+ + /Pv6////t4xghjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAjkkAkEwChj4Az7OX/////Pv7/v7+/f38/f398erilFQVi0YBj0oBjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0UBlVUW8+zl/v39/f39 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/f38/v7+8+zllFQVi0UBj0oAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0sBi0UAlVUX8uzk/v39/fz8/Pz7//// + t4xhhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oA + jkgAjkkAj0wChjwA0LOX/////fz7/////v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v///fv7////zrGU + hjwAj0wCjkkAjUkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChTwAuI5k////+/r5////4tHAiUIDjkoCj0oAjUkAjkoAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0wCiUAApW84/Pv6/f38/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v///v7+/f38+/r4pG02iEAAj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0kAjkoCikMD4tC//v79+vj1pG02hz8AkEsBjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkkCi0QF49TD + /////fz8//7//v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/////fz8////49TEi0UFjkkCj0oA + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBiEAA + oWkx////zrGThTsAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkgAkEwChj0AupBl/////fz8/v///v7+/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/v/+/fz8////uZBkhj0AkE0CjkgAjUkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAjkkAjkkAj0sAiEAAwZ12m18iikIAj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjEYBlVYX8uzl/v79/v39/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/f39/v398+zmllYXjEYBj0oBjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAjkkAjkkAikMAjEYAjkkA + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjkgAjkkAkEwC + hj0Az7SX/////fz7//7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//7+ + /fz7////0bWZhz0Aj0wCjkkAjUgAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0oBjkoAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAjkkAjkkAj0wCiEAApW86/Pv5/fz8/v7+//7+/v7+//7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+//7+/v7+/fz8/fz7p3I+iD8Aj0wCjkkAjkkAjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAjkkAj0kCikQF49PD/////Pz8//7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+//7+/fz8////5dbH + jEYHjkoCj0oAjkkAj0kAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oA + jkkAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChj0AuI1i/////fv8/v/+/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/v7+/v///fz7////vJRqhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oBjEUBlFQW8uri/v7+/f39/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/f39/f399O7ol1kci0QBj0sB + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjUgAjkkAj0wChj0AzbCT//// + /Pz8/v7//v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/Pz7////07mfhj0Aj0wCjkkAjUgAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjkkAjkkAkEwCiEAAomw0/Pr4/f39/v7+/v7+/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////v7+/v7+/fz8/fz8qHNAhz8AkEwCjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkkCiUIC4dC+/////fz7/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz8////5tjJi0YFjUgCj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAkEwChTwA + t4tf/////fz7/v7+/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/v7+/fz7////vZZuhTsAkE0CjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0oBi0YBlFMT8eri/v7+/f38/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v39/f399vHs + mVseikQAkEsBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkgAjkkAkEwChj0Aza+Q/////Pv6/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/Pz7////1Luhhz4AkEwCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + j0sAiEAAo2w0/Pr4/fz8/f39/v7+/v7+/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/v7+/v79/fz7/f38qndDhz8AkEsB + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAjkkAjkkAjkkBi0QD4c+9/////Pz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/fz7/v7+6NvNjUkIjUgBj0kAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwBhTsAt4xf/////Pv6 + /v7+/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/Pv6////wZt2hTsAkEwBjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0oAi0UAlFIT8eri/v39/fz8/v7+/f39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/v7+ + /f38/fz89vHtmVsfikMAj0sAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEsChDoAy6uN/////Pv6/v7+/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/f3+/v7+/Pv7////1r6lhj0Aj0oBjkkAjUkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sAiEAAoWkx + +/n3/fz8/f39/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v39/fz7/v7+ + rXtJhj0AkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oBjkkAj0oBjkoCiEEA4M68/////fz7/v7+/v39/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////f39/v7+/fz7/v7+69/SjkgJi0UAjkgAjUcAjUgAjUgAjUgAjUgAjUgAjUgAjUgA + jUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUcAjUcAjkoAhDkAtYlb/////Pz6/f7+/v7+/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/v39/v7+/Pz7////xKF9jEcSlVQW + k1IUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUk1IUlFMV + kU8TmVoj8ejg/v39/fz7/v7//f39/v////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v///f39/f38/Pv67+bd8Ofe8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off + 8Off8Off8Off8Off8Off8Off8Off8Off7uXd9O7o/////f39/v7+/v7+/v7+//7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v////7+/v7+/v7+/v7+//////////////////////// + /////////////////////////////////////////////////////////////////////////v39/v7+ + ///+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////7+/v////// + /////v7+/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v79/////////v7+/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/////v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAEAAAACAAABABgAAAAAAAAgAwAAAAAAAAAAAAAA + AAAAAAAA//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v79/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////9/Lt9/Pu + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Pt/v7+/v79/v7+/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v79/v799/Ls9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Pt9/Lt/v39pm80omkso2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2svnmMrzrGR/////fz7//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/fz8//// + 1bygnGAqo2svo2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2svnWEruY9i/fz8wJpwkUwEiUIAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0UAiUAAlVQT7uTZ + /v39/fz8/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f38/v7+9O3nmFkViD8Ai0UAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAikMAi0MA3sq1/v7+/fz8wJhviD8AkU0Fj0sCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkU0EiD8AuItb/////f38/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7////vZNniD8AkU0EkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCj0sCkU4EiUAAuY9h + /////Pn4/v7+9e/pnF8ei0UAj0oBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0MA3cix/////fz7//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////Pz7////49G/j0oHjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEYBl1cU8urj/v39/fv6+vf0//// + 1LqfikIAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoAj0sBikIAoWcq9vLt/fz7/v39/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /f38+/n3p3A0iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEAzrCQ/////fz7/v7+/fz7/fz7+/n3q3hBiUAAkEsC + j0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiEAAyKaB/////fz7/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/Pz7////z7GRiUEAkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oBikIApnA0/fz7/v39/v7+/////////f38////6NrMkEwHjUgBjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoA + jUgBlFIO7uTa/////f38//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz8/v398OfellYTjEYBj0oBj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgB + jUYA4tG+/////fz7/////v7+/v7+/////fz8////wJpvhz4Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsCiD8As4RR/fz7 + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v38////uY9ghz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8Au5Fk/////f38/v7+ + /v7+/////////v7+/fz8/v389e/pnmMmi0MBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCi0QB3Mav/////fz8/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/Pz8////4tG+jUgCjkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0UAmFkW9e/o/v7+/f38//////////////////// + /////fv6////17+miUEAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikMAoWgp+vfz/v7+/v79//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f39/fz8+/j2pW4z + iUAAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAj0oBiUEA0ria/////fz8/v7+/v7+/////////////////v7+/v39/v39/v/+ + sH9LiEAAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoAj0sCiD4Ax6Z//////fv6/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////7+/v7//fz8////yqqHiD8Aj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0sCiUIAqXU7/fz7/v39/v39/////////////////////////////v7+/fz7/v7+6t3PkU4NjkgCjkoB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0oAjUcBkU0N7ODU/////f39/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v///f38/v7+7+bdlVMOjEYBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkBjUgB5dXG//// + /f38/////v7+//////////////////////////////7//fz7////w551iD4AkEwCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sB + hz4Ar35J/v39/fz8/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v39/fz7////tolYhz4Aj0sDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBiEAAvZZq/////f37/v7+/v7+//////// + /////////////////////v7+/////f39/v7+9vHsnmMki0QAj0sAj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oCi0QB2cKo//// + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz8//// + 3su3jUcDjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBmlsZ9O7n/v79/f38//////////////////////////////// + /////////v7+/v7+/fz6////2cGpikIBj0oDjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBi0MAn2Qn+PTw/v79/f38/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f39/fz8+vf0omosiUEAj0oBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sCiD8A0reZ/////fz7/////v7+//////////////////////////////////////////// + /v7+/fz7/Pv6sH9KiD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0Aw594/////fz7//7///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/Pz7////yqmGiUAAj0sCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUEAq3hA + /Pz6/f38/v39//7+/////////////////////////////////////////////v7+/////f37////7OLW + k1EOjUcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoBjUcCklAO6t7Q/v7+/fz7/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////f39//7/7ePYk1ENjUcAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUcBj0sG6NrL/////fz8/v///v7+ + /////////////////////////////////////////////////v7+/v7+/fz7////xqR+hz4Aj0sCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEsBiUEAsIFN/v79/v39/v3+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v79 + /Pz7/v7+s4RQiEAAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBhz4AwZty/////fz8/v7///7+//////////////////// + /////////////////////////////////////v7//v39/v399/PuoWgrikIAj0oBj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iEAA176j/////fz7//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/fz8////2sSti0QBjkoC + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0kAj0sBi0QAm14d9vHr/v79/f39//////////////////////////////////////////// + ///////////////////////+/////fz8////3MawikMBj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCi0QBnGAi9O7n/v38 + /fz8/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////f39/v39+fbzoGcoikIAj0sBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iUEA1buf/////fz8/v7+/v7+//////////////////////////////////////////////////////// + /////////v7+/f79/fz8/f39soNPhz4Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz0AwZxz/////f38/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/Pz7////x6V/iD8AkEwBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wBiEAArHpD/v7+/v38/v7+ + /////////////////////////////////////////////////////////////////////////////v7+ + /f38/v7+69/SlFIPjUcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkgBkEwG6dvN/////fz8//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////Pz7/v397ODUlFMRjUcCj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBkE0I6NvM//7+/fz8/////v7+//////////// + /////////////////////////////////////////////////////////////////////fz7////yKaB + hz0AkEwDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sCiUEArXtG/Pv5/fz7/v39/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v///f38////sH9K + hz8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0wChz8AwJlv/////f38/v7+/v7+//////////////////////////////// + /////////////////////////////////////////////v7+/v7+/f39/f389/Puomgti0MAj0sCj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0sDiD8A1r2i/////fz7/////v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/f38////18ClikMAj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0oBi0QAnmIj9vHs/v39/v39//////////////////////////////////////////////////////// + /////////////////////////////////////v7+/fz8////3sq0jEYAjkoCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAi0UA + nWAf9vHs/v7+/v79//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/f38/f389vHsn2Qli0QBj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCikIA2MGo//// + /fz7/////v7+//////////////////////////////////////////////////////////////////// + /////////////////////////////fz8////tYhWhz4Aj0wBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiD8AwJpw/v7+/fz7 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////+/////fz7////xKF6hz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wBiEAAsH9L/////f38/v79/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////fz7/v797uXblVQVjEYBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkCjkkG59jJ/////f38/////v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v///f38//// + 6t3PkU4IjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgBkU4J6t7Q/v7+/fz8//////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz7////yqqGiEAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUEAqnY9/Pr4/v39/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////+/v39/fz7/fz7r39KiUEAj0sCj0kA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEwChz0Aw553/////fz8/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f39/v79+/n3omor + ikEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkoAj0sCiEAA0raY/////fz6/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7//fz7////1ryiiUIAj0oCjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikMBnmMm + +PTw/v39/f39//////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz7////38u2i0QEjkoDjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0kAj0sBjEUAmVwb9e/p/v7+/f38//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////f38/v7+9vHsnF8eikMAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA2MCl/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/fz8/v7+t4pZiD8AkEwCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz4A + vpVq/////fz7/v/+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /Pz7////wJpwhz0Aj0wDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAAr39J/v7+/v39/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////f39////8urillcTjEYAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUgCjkgE5dXE/////fz7 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////fz8////59nLkEsHjUgB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoBjEcBk1AN7OLW/v///fz7//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/Pz7////za6OiEAAj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBiUEAqnY8/f38/v39/v3+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////f39/fz8/fz7rHlCiUEAkEsBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iD8AyKaB/////fz7/v///v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v79 + /fz7+fXypW0xiUEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEA0bWX/////fz8/////v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/fz7////z7OTikIAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBikMAn2Yl+vf0/v7+/f39 + //7///////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/////fz7////4tG+jEYC + jkoBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oBjEUCl1gY8+vk/v79/fz7//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////f38////7eLWlFEOjEcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkoBi0QA28av/////fz7/v7//v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v79/fz7/v7+uY5fiEAAj0wCjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEsCiD8Auo9h/////fz8/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v79/fz8+/r4rHlE + iUEAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBiD8As4RR/f39/v39/v7+///+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7//f38/v7+7+fdl1cUjEYBjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBjkgB + 4tC+/////f38/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v///v7+/Pz7////wp51hz4Aj0sCj0kAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjUcBk1EN7+Xb/////f39/////v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////fz8////z7GRhz4Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAp3E4/Pv5/v38/v39 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+//7+/fz7////3ciwjEUAjkkBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0Ax6WA//// + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/f39/fz7+vj1qHI4iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAkEsCiD8Az7GR/////f38/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/////fv7////7OHUlVQWjEYBj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikMAomks+PPv/v39/v79//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/fz7 + ////5NPBj0oGjkgBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBjEYAl1gU8uri/v7+/fz8//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7//f38////8uvj + n2QoiUEAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCi0QB38u2/////fz7/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f38////u5Jlhz0A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBiD8AupBi/////fz8/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////fz8/v7/+PTvq3dAiD8AkEwBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0wCiEAAt4pa/v7+/f38/v79/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/fz8/v398erimVwcjEUBj0sBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkBjUgE4M66/////fz7/////v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/////fz8////+vj1rHpFiD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjUcBlVQR + 7+bd/v7+/f39//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/fz7////0LSUiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikIAo2sv + +/n4/v39/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v39////+/n2tYhXhz4Aj0wDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0AyquI/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/fz8/fz7qHM5iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4Ay6uJ/////fz7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+///+/v7+/fz7////+vf0 + rXtIikIAj0sDj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sBikIAo2wx+PXx/f38/f38/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////Pz7////4tLAjkgHjUgCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBllYS8Oje/v7+/f38//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////fv7////9/Puq3hChz4Aj0sBj0oAj0kA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkoBi0UA4M24/////fz7//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/Pz6 + ////vpZqiD4Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AuItc/////fz8/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////7+/////v7+/fz7////7+XaomoxiEAAkEwDj0oAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwC + hz4AtolZ/////fz8/v3+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////f39/v7+9vHsnGAdi0MA + j0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkCjEYB38y3/////fz8/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /v///v39/Pz7////38y3mFkciUAAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEYDllYX7+bc/v7+/f38 + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/fz7////1LqeiUEBj0sDjkoAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoA + j0sBikIApGww+vj1/v39/f39/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////////Pv6////////y6yJ + j0sEikMAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiD8Azq+O/////fz7//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v39/fz7/Pr5qnY9iD8Aj0wCj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AzK2M + /////Pz7/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/////v7+/fz7////8+zks4NTiUEAjUkAkEsCjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAkEsBiUEApnA0/fv6/v39/f79/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v///f38////5tjJkUwIjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYBlFIP7uTa/v7+/f38//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////v7+/fz7////////3Mixm14hiEAAj0sCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjkkCjkkG4c+7/////fz7/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //7+/v7+/fz7////v5lviD8Aj0sDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUAAtIZV/////v39/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+///+/v39 + /fz8////+PTvvpZujUgDikQAkEwDj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4AuI1d//// + /fz7/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////7+/f38/f38 + 9O7nm10ci0QAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA3ciy/////fz8/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////v7+/fz7////////28aunmImhz4A + jkkAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYAl1gW8+vk///+/f38/////v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7//Pz7////1LqdikIAj0sB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oBikMAoWgp+fby/f39/f39//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/////v7+/fz7/v//////8OjdtolbjEUAikMAkEwCj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAzrGR/////fz7/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v39/fz7/f38rn1HiD8Aj0sCj0kAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0sBiD8AyKiE/////fz8/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////f38////////+/j2y62LlVQSiD8AjkoBj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0oBiUEApW4z+vj1/v39/v39//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/Pz7/v7+6d3Qkk8LjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUcBkk8J7eTZ + /v7+/f38/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////v7+/f38/f39/////Pr4 + 2sSsomktiD8AjEcAkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjkkAjkgD + 49PB/////fz8/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f38////w552hz4Aj0wBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD4As4VS/////f39/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/////f38/v7+////////38y3qXU+iUEAikMAkEsCj0sB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4AvJNm/////fz7/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////f39/f389vHrnGAgikMAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBjEYA3Mex/////fz7/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////////v39/fz8/v7/////////4tC9rntHjUgCiUIAkEsCj0sBj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oBjEUBmVsZ9O7m/v7+/f38//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/Pz7//// + 2MCnikMAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0oAi0MAnmMj+ffz/v39/f38//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/v39/fv6//// + /////fz82MGnrXtIjUYAiUEAjkkAkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sCikEA0bWX/////fz7/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f39////r35IiUAAj0wC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiEAAxKF6/////fz8/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////v7+/f38/fz6/v7/////////8uvj0bWXomktjEUAiD4A + j0oBkEsBj0oAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsC + iUEAqHQ7+/j2/fz8/v39/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////fz7/v7+6NvNkEwIjUgBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jUgBkk8K7ODV/////fz7/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////v7+/v7+/v7+/v39/v39/////////f3859jKvZVqnF8hiD8Ai0QAj0oAkEwEj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgBjkkE5dXE/////fz7 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/Pz7////w551iD4Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAsIBL//// + /f38/v7+///+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////v7+/fz8/fz6//////// + ////////69/T0baYqndBjkgAiUAAi0QAkEwDj0sBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AvZRo/////fz7/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f39+vbzn2UlikMAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCi0QA2sOq/////fz7/v7//v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/v79/v38/v38/f38/v///////////v398Ojf0bWXsYBNlVUShz0A + ikIAjkkAkEwCj0sCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oBi0UBmlsc8eri/v39/fz8/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////Pz7////28avi0MBj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikMAnmIj+PXx/v39/f38///+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v79/f38 + /fz7/fz6/v7+/////////////////Pr55dXDyaqHr31Lkk8HikMAiUEAjUYAkEwDj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAj0oBiUEA1Lqd/////fv6//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/f79/fz7/f38 + sYJOiEAAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AxKB5/////fz8/v///v7+//////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////v7+/v39 + /v39/v39/v39/v39/v39/v38/v38/fz8/fz8/f38/f38/v38/v38/v39////////////////////9vDq + 6d3P0baYtIZVn2Unkk8HhjsAiUAAjkgAj0sBkEsCj0sBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUAArHpD/f38 + /v39/v39/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////fz8////7OHWkk8KjUcAjkoA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjUgBkU4J6NrM/////fz8//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////9O3l49PB1Lqew552soNRnmIhikIAikIAiUEAikIA + jUgAkE0EkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoBjUgCj0wK59nK/////fz7/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////xqR+hz4AkEwCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iUEArnxG/v7+/f38/f39/v7+//////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz6+PXv+fXy+fXy+fXy+fbz9vDr8Oje8Oje6dzO + 5NXE2MCmzbCPv5dusIBMn2UnmlwZk1EJjEUAhz0AiUEAjUcAkEwEkE0EkU0EkU0EkEwDj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sBkE0Ehz4Av5ht/v7+/fz7/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////+/f39/f389/PuoGYnikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAA1r2i//// + /Pz7/////v7+//////////////////////////////////////////////////////////////////// + /////////////////fz7////4M25l1YeoGYnn2MknmMkn2QmmVsYkUwEkU0FhTkAgzcAhDgAhDkAhDkA + hToAhToAhz0AiEAAikIAi0UAi0QAikIAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAikIAhz0Am1wc9O7o/v7+/f39/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+//7//f38////2sSsi0QAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0UBnWEg9fDr/v39/f39//////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////6NrMtIZYupFjuY9huo9huY9gupBjvJNnvJNnvpdsv5dtv5dtv5dsvpdsvpdsvpdsvpZrvpZr + vpVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvpdsuI1g + 4M24/////fz8/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////+ + /v7+/fz7////tIZUiD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8AwZxy/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz7/v397ePY + llURjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkgBkEsF6NrN/v7+/fz8/////v7+//////////////////////////// + /////////////////////////////////////////////////v7+/////v79/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v39/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/Pv7////yaiEiD8Aj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEsCiUEArXpD/v7//f39/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////f39/v38+vf0oWgrikIAj0sBj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oB + ikMA1bqf/////fz7/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz7////3MiyjEYBjkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0QAmlwa9O7n/v39 + /f38/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/f39////tIdViD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD4Avpds/////f38/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /fz8/v7+7+XblFIOjEYBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgBjkoD5dbF/v7//fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v38/v39 + /v38/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/////////v////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz8////y6uI + iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBiUEAq3c//fz7/v38/f79//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f39/v39/Pv6pGwuikEAj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sCikIA1Lqd/////fz7/v///v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7++fbzqXY9nmImoGYnoGUnoGUnoGUnoGUnoGUnoGUnoGUn + oGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUn + oGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnn2UnoGUnnmMm4c+8//// + /fz8//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz7////4tC9jUgEjkkCjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0QA + mVsZ8+zl/v38/fz8//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/fz7////xaJ8hToAi0QAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAi0QAhDoAqHI6+/n3/v39/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz8////uIxciUAAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8AvpZs/////fz7 + /v7+//7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz7/v7+ + 7ODUk1EPjUcCkEwDj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sCkEsCjkkDkk4L6t7Q/////fz7//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////f39/v7+8enhllYQjUYAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkkE49PB/////fz8/v///v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/f38////soJOiEAAj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0wBiD8Awp10/////fz8/v7+/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /Pz7////za+OikEAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sDiEAAp3I3/Pr4/f38/v39/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/Pz7////2cOri0QAj0oBjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0UAnWAf + 9vHs/v79/fz8//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/f39/f38+/n3pm8z + iUEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0oCikIA0LOU/////fz8/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/f38/f38+PPvoGcqi0QBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCiUEA1r2i/////fz7/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////fz7////4tC9jkkDjkkBjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAi0YAl1gT8+3l/v7+/f39//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////x6V/iD8AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiEAArXtF/f38/f38/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/fz8////vJJmiD4AkEwCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiEAA + upFj/////fz8/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f38/v7+6t7RklALjUcB + jkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0kAjkgBkU0I6NrM/////f38/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7//fz8/v798eril1kVi0QAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgBj0oG5NPC/////fz7 + /////v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v79/f38/f38soNQiUEAj0sCj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsC + hz4AwZty/////fz8/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////+/v///f37////0bWXiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApm8z/fz6/f38/f39//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////fz7////3MexikMAj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0MBnGEj9vLt/v39/f38 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////f39 + /f38/Pr4qHM6iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oCiUEAz7KS/////fz7/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v39/f38+PXxomotikIAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUIA1r2i/////fz7/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz7////49PBjUgC + jkkBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjEYBllYU8ejf/v79/f38/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz7////y6yJ + hz8Aj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAkEsBiD8ArXpD/fz7/v38/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/fz8////vJNmhz8Aj0sBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEsChz4At4ta/////fz8/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////f39////7ePZlFIPjEYAj0oAj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjUgCkEwL6dzO/////fz7//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////fz8/v398+vkmFoXi0UAj0oBj0kAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkkBjUcD + 38y3/////fz7/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/fz7/f38tYdVhz8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AwZtx//// + /fz8/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/fz8////0reaikIAjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApGww+/j2/v38/f39 + /////v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/fz6////3su1jEUEjkoCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0QAnGAf9fDq/v79/f39//7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v79/v39/f39q3c+iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AzKyK/////Pz7/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v/+/f39/v79 + +fb0o2otikMAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCikIA07eb/////fz7/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/////fz8 + /v7/59fIjkoEjUkBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0YBl1cV7+bc/f39/fz7/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+//7//fv7////yqmGiD8AkEwCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sBiEAAqXU7/Pv6/f38/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz8////v5dtiD4A + kEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBiD8Atotb/////fz7/v7+///+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////7+/fz8/v7+7uTalVQUjUcCj0oBj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkCj0oK + 5tbG/////fz8/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////f39/v399O7om10ci0UBj0oBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAj0oBjUcB4M25/////f38/v7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////f38////tolXiD8AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD4Avpdr/////fz7/v39/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////fz8////07ibiUAAkEsBjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCikIAomos + +PTw/fz8/f39/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////3ciyikMAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAi0UAmlsY9O7n/v7+/v39/v////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f39/f38/v79q3c/iUAAj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz4AyaiF/////fz7//// + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f39/f38+fXxomoviUEA + kEwCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0sCiUAA07mc/////fz7//////7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////fz8////6NvMkEwHjUgBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUcAk1EL7uTa/////f39//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////f38////y6uJhz8Aj0sBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sB + iUAAq3dA/Pr4/fz7/f39/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v///fz7 + ////wpxziD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8AtIZU/v39/fz7/v39/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////f38/v7+7uPYlFMPjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgBj0oC5dbG/////fz7 + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////+/fz8/v399/LunGAfi0MA + j0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0kBjEUC3cm0/////fz7/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v79/f38/v7+tYhYiD8AkEsCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz0AvpZr/////fz8/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v///fz7////17+likMAj0oBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + j0oBikMAomgq+vf0/f39/v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////Pz7////4M24 + i0UAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0sBi0QBm10f8+3m/f38/fz7/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////7+/v79/f39////rnxGiUAAkEsCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiEAAyKWB + /////Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v79/f38+PTxomkti0MAj0sBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEwBiUEA0rea/////fz7/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7//fz7////6t3QkE0IjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjUcBkk8M69/T/v7+/fz7//// + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/fz7////y6yKhz4Aj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUAAqnU9/Pz7 + /v38/v39/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/v7+/fz7////wZtyhz8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiEAAsoJP/////f38/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////f38/v7+8enhllYSjUcBj0oBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgCj0sJ5dbG//7+/Pz7/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////f38/v79 + +PTwnGAfi0QAj0sAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkoCi0QA28St/////Pz7/v7+/v7+//////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/f38 + ////uI1diD8AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBhz8AvpZq/////fz7/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/fz7////2sSsi0UAj0oB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0kAj0sCikMAnmQl9/Lt/f38/f39/////v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/fz7////4tC+jUcCjkkBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0oBi0QAmVsZ9O3m/v79/f38/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/f38////sYFMiD8Aj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + kEwChz4AxaJ8/////fz7/v7+//////////////////////////////////////////////////////// + ///////////////////////////////////+/f39/f39+/n3pGwwikEAj0sBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sCiUAA + 07mb/////Pz7/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////fz7/v7+7OHUkU0HjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjUcBk1AO6+DU + /v7+/Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////v7+/v///f38////za+OiD8Aj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAq3c+/fz7/fz8/f79//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/fz8////xqR/iD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz4AsIBM/v79/fz7/v7+//// + //////////////////////////////////////////////////////////////////////////////7/ + /fz8/v7+8erillYSjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBjkkF5tfH/////fz8/////v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////f39/f39+PXwn2Qli0MAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA2cKp/////fz8/v7///////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz8////uI1fiD8A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0wDhz4AvpVq/////Pz7/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz8//// + 2sWtikEAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oBi0MAnWAg9vDq/f38/f38/v7+//////////////////////////// + /////////////////////////////////////////////fz7////4tC9jUcAjkkBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jEQAm10b9O/p/v7+/f38//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v39/v7+soJPiUAAkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sDhz8Aw552/////fz7/v7+//7+//////////////////////////////////////// + /////////////////////v7+/f39/f38/Pr4pW8yikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUAA07ib/////fz7 + /v7//v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////f38/v7+7OHWklAMjUcBj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jUgAklAK6dzO/////f38/v////////////////////////////////////////////////////////// + /v7+/////fz7////za+OiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCiEAAqXY9+/n3/fz7/v39///+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////fz8////yamFiD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0wCiEAArXpD/Pv6 + /fz6/v39/v7+/////////////////////////////////////////////////////////f39/v7+8eng + lVMPjEYAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkBkEwF5tjJ/////f38/v///v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/f39/v39+fXyomkrikMAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sDikMC17+l/////fz7/////v7+ + /////////////////////////////////////////////v7+/v7+/f38////uI1diEAAkEsDjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEwBiD8Au5Jl/////fz8/v7+//7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////fz8////3ciyi0QAjkoCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBi0QAnmIi9vLt/v7+/v7+//////////////////// + /////////////////////////v7+/////fz8////4tC9jkgEjkkBj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBmFoX8uvj + /v39/fz8/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/fz8//// + tYdViD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0wDhz4AwZtx/////fz7/v7+/v7+//////////////////////////// + /////////////v7+/v39/Pr4pG0vikMAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiEAAz7KT/////fz7/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////fz7/v7+7uTalVQQjEYBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oBjUgCkU4N59jI/////fz8/////v7+/////////////////////////////v7+/v7+/fz8 + ////za6NiUAAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUEApm8z/Pv5/v39/f39//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////yaiDhz4Aj0sCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sB + iUAAqnY9/fz8/f38/v7+/////////////////////////////v7+/////f38/v398enhllcVi0UBj0oB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkgBjkkD5NTD/////fz8/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////f39/v39+/j2oWgqikIAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUIA07mb//// + /fz7/v7+/////////////////////////////v7+/f38////t4tahz8AkEsBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiD8A + upFj/////fz8/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/fz7////4M67jEYDjkkCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBi0QBm18g8+3l/v39/f38/v7+/v7+ + /////////////v7+/v7+/Pz7////5NTEjkkEjUkCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjEUAllcT8+vk/v39/f38//// + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/fz8////uIxciD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz0Avpdr/////fz7//////////////////////// + /f39/fz8+/n3p3E4iUEAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBiUAA0LSV/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////fz8/v7+8Ojf + llYSjEcBj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkgBkEwI5dfG/////fz7/v7+/////////////v7+/fz7////0LSWiEAA + kEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBikIAp3A1/Pr5/v39/v39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/fz7////za2Mhz8AkEsCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0sBiEEArHlC+/r4/fz8/v39/v7+/v7+/v7+/f38/v398+zkmVoZi0UBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkBjUcA49LA/////f38/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v38/f39+/n3pG0yikEAj0sCjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iD8A0ria/////fz7//////7+/v7+/fz7////u5Jlhz0Aj0wDjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8Au5Jk/////f38 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/////f38////38y3jUcAjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEUBmlsb8eng/v79 + /f38/////f38////5NTDjkkEjkkBjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBl1gV8uvk/v79/f38//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/fz8////t4xchz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wCiD4Au5Jm/////fz7/f39/fz8+/n3 + qXQ6iUIAj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8A0LOU/////fz8/////v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7/v7+8engllYWjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkgD5NTD/////Pr5////0bSXiEAAj0sDjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0kAj0sCikIAp3E3/Pr4/v39/v39/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////fz8////0baX + iUAAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAj0sBiUAApnE2+fbz/f388uvjl1cTi0UAj0oAj0kAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkgE5NTD + /////fz8/v////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v3+/v39/Pv5p3I4iUEAkEsBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkoAj0sCiUAAz7GT////upFjiD8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8Au5Fj/////fz8/v7///7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////fz7////4tG/jUcDjkkCjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAi0MA + nWEh1r2ikE0KjkgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEYBl1gX8urj/v7+/f38///+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v/+/Pz7////u5FkiD8AkEwBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAkU4FjUcAj0oA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sCiEAA0bWW/////fz7/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////f38/v7+8+zlmFkZjEYBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgAj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikIA + qHI4/Pv5/v39/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz6////0LOTiD8AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kCjUcF49G//////f38//// + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v39+/r3qnY+ + iUEAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sChz4Au5Nm/v///fz8/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////f38////5tfIjkkIjkkCj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0oAjEYAl1cU8+zl/v7+/v39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/fz7////v5huhz4Aj0sCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + kEsChz8Az7KS/////fz7/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v79/v7+9O7pmlwZi0UAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsCikEApnA3+vf0/fz7 + /v39/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////fz7////07ibiD8AkEsDj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkoBjEUA38y3/////fz7//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v39 + /fz7+/n3q3hBiUEAkEsCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0wChz4AuY1f/////f38/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////fz8////59jIj0oD + jkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oBjEYCl1YV7+Xb/v39/fz7/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/f37////vpdthz0Aj0wCj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBhz4Ay6uJ + /////fz8//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/fz8/v399O/om18hi0QBj0oBj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApW40+vf0/v39/v39/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////f38////1r2iiUAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkCjEYE4M24/////fz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/v79/v38/v39rnxIiEAAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAkEwChz8At4tZ/v7+/fz7/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/fz7 + /v7+6NrMkU0LjkgCjkoBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYB + llYW7+Xb/v7+/f38/////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////7//fz7////wJpwhz0A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiD8Aza6M/////fz7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////f39/v799vLtnWIki0QAj0sBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBiUEApG0x+vf0/f38/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7////1r6ii0MAj0oCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkoAj0kCjEYF38y3/////fz7/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/f38/fz8rXtEiUAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0wChz8AuIxc/v7+/fz7/v39/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////fz8////697Skk8MjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkoAjUYAllYR8Ofe/v/+ + /v39/v////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/fv6 + ////xKF6iD4AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wCiD8Ay6uJ/////v38//////7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v79/v7++fXyn2Qli0MA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0kAj0sCiUEApW8z+fby/fz7/f39/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////fz8////2cKqikQAjkoCj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkoAjkkBjEYA4M24/////fz8/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7/Pv6sH9LiD8AkEsCj0kAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz4At4pa + /////f38//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38////7OLWkk4KjUgBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEUBl1cV7uXb/v39/Pz8/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////fz8////xaJ8iD8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAAzK2L/////Pz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v39/fz7 + 9/LtomgsikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiUIApGww/Pn3/f38/f39//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////fz7////3Mewi0QAj0oB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkB + jUcE3sq2/////Pz7/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/f38////tolXiD8Aj0wBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8AuIxb/////fz8/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/fz7/v7+7eLWlVMSjUcCj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUYBllYT8Ojf/v7+/f39/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////fz8////yKaBhz4AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBhz8AyaiF/////fz7/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v39/v39+PTxomktikIAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oBikMAomgq+fXy/v39/f39//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/fz7//// + 3Mixi0MBjkoCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0MA3ciy//// + /fz8/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/fz7/v79tIdVhz4AkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBhz8AtIdV/////f37/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////f38////7+belVUUjEYBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkoAjUYBlFMO7uPZ/v7+/fz8//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/fz7////y6yJiD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEwBhz4AyKaD/////fz7/v///v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v38+ff0pW4yikEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikIAoWgq + +vf1/f38/f39//7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////fz7////4M24jEUFj0kCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkCjEYB3ciy/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v39/fz7/v39 + tolZhz4AkU4FkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwD + kEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwD + kEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwCkU0EiEAAtIVS/////f39/v7+///+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v///v39////8OfdlVQQhDoAiD8A + iD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4A + iD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4A + iD4AiD4AiD4AiD8AhToAkU4K7+Xc/v7+/f38/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////7+/////v7+////38y4y6yNzrGQzrCQzrCQzrCQzrCQ + zrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQ + zrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrGS + yqqM38u2/////v79/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/v7+/v79//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v79/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8 + /fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8 + /fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/f38/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxFwUpdate.Designer.cs b/LFP_Manager/Forms/fmxFwUpdate.Designer.cs new file mode 100644 index 0000000..9855b6d --- /dev/null +++ b/LFP_Manager/Forms/fmxFwUpdate.Designer.cs @@ -0,0 +1,643 @@ +namespace LFP_Manager +{ + partial class fmxFwUpdate + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fmxFwUpdate)); + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.btnFlashWrite = new DevExpress.XtraEditors.SimpleButton(); + this.btnFlashErase = new DevExpress.XtraEditors.SimpleButton(); + this.btnGotoApp = new DevExpress.XtraEditors.SimpleButton(); + this.btnGotoBoot = new DevExpress.XtraEditors.SimpleButton(); + this.btnRestart = new DevExpress.XtraEditors.SimpleButton(); + this.lbUpdateStatus = new DevExpress.XtraEditors.LabelControl(); + this.lbUpdateProgress = new DevExpress.XtraEditors.LabelControl(); + this.pgUpdate = new DevExpress.XtraEditors.ProgressBarControl(); + this.lbUpdateTime = new DevExpress.XtraEditors.LabelControl(); + this.lbFileInfo = new DevExpress.XtraEditors.LabelControl(); + this.btnFwUpdate = new DevExpress.XtraEditors.SimpleButton(); + this.btnClose = new DevExpress.XtraEditors.SimpleButton(); + this.btnFind = new DevExpress.XtraEditors.SimpleButton(); + this.edFilename = new DevExpress.XtraEditors.TextEdit(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.emptySpaceItem4 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem3 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.lcItemGotoBoot = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem5 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.lcItemGotoApp = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem6 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.lcItemFlashErase = new DevExpress.XtraLayout.LayoutControlItem(); + this.lcItemFlashWrite = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem11 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem(); + this.edTargetID = new DevExpress.XtraEditors.TextEdit(); + this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pgUpdate.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.edFilename.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcItemGotoBoot)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcItemGotoApp)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcItemFlashErase)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcItemFlashWrite)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.edTargetID.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.edTargetID); + this.layoutControl1.Controls.Add(this.btnFlashWrite); + this.layoutControl1.Controls.Add(this.btnFlashErase); + this.layoutControl1.Controls.Add(this.btnGotoApp); + this.layoutControl1.Controls.Add(this.btnGotoBoot); + this.layoutControl1.Controls.Add(this.btnRestart); + this.layoutControl1.Controls.Add(this.lbUpdateStatus); + this.layoutControl1.Controls.Add(this.lbUpdateProgress); + this.layoutControl1.Controls.Add(this.pgUpdate); + this.layoutControl1.Controls.Add(this.lbUpdateTime); + this.layoutControl1.Controls.Add(this.lbFileInfo); + this.layoutControl1.Controls.Add(this.btnFwUpdate); + this.layoutControl1.Controls.Add(this.btnClose); + this.layoutControl1.Controls.Add(this.btnFind); + this.layoutControl1.Controls.Add(this.edFilename); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1101, 240, 600, 492); + this.layoutControl1.Root = this.layoutControlGroup1; + this.layoutControl1.Size = new System.Drawing.Size(736, 478); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // btnFlashWrite + // + this.btnFlashWrite.Location = new System.Drawing.Point(567, 153); + this.btnFlashWrite.Name = "btnFlashWrite"; + this.btnFlashWrite.Size = new System.Drawing.Size(162, 22); + this.btnFlashWrite.StyleController = this.layoutControl1; + this.btnFlashWrite.TabIndex = 21; + this.btnFlashWrite.Text = "Flash Write"; + this.btnFlashWrite.Click += new System.EventHandler(this.btnFlashWrite_Click); + // + // btnFlashErase + // + this.btnFlashErase.Location = new System.Drawing.Point(567, 127); + this.btnFlashErase.Name = "btnFlashErase"; + this.btnFlashErase.Size = new System.Drawing.Size(162, 22); + this.btnFlashErase.StyleController = this.layoutControl1; + this.btnFlashErase.TabIndex = 20; + this.btnFlashErase.Text = "Flash Erase"; + this.btnFlashErase.Click += new System.EventHandler(this.btnFlashErase_Click); + // + // btnGotoApp + // + this.btnGotoApp.Location = new System.Drawing.Point(567, 220); + this.btnGotoApp.Name = "btnGotoApp"; + this.btnGotoApp.Size = new System.Drawing.Size(162, 22); + this.btnGotoApp.StyleController = this.layoutControl1; + this.btnGotoApp.TabIndex = 19; + this.btnGotoApp.Text = "Goto Application"; + this.btnGotoApp.Click += new System.EventHandler(this.btnGotoApp_Click); + // + // btnGotoBoot + // + this.btnGotoBoot.Location = new System.Drawing.Point(567, 194); + this.btnGotoBoot.Name = "btnGotoBoot"; + this.btnGotoBoot.Size = new System.Drawing.Size(162, 22); + this.btnGotoBoot.StyleController = this.layoutControl1; + this.btnGotoBoot.TabIndex = 18; + this.btnGotoBoot.Text = "Goto Bootloader"; + this.btnGotoBoot.Click += new System.EventHandler(this.btnGotoBoot_Click); + // + // btnRestart + // + this.btnRestart.Location = new System.Drawing.Point(567, 273); + this.btnRestart.Name = "btnRestart"; + this.btnRestart.Size = new System.Drawing.Size(162, 29); + this.btnRestart.StyleController = this.layoutControl1; + this.btnRestart.TabIndex = 17; + this.btnRestart.Text = "Restart"; + // + // lbUpdateStatus + // + this.lbUpdateStatus.Location = new System.Drawing.Point(7, 335); + this.lbUpdateStatus.Name = "lbUpdateStatus"; + this.lbUpdateStatus.Size = new System.Drawing.Size(526, 14); + this.lbUpdateStatus.StyleController = this.layoutControl1; + this.lbUpdateStatus.TabIndex = 16; + this.lbUpdateStatus.Text = "Update Status : "; + // + // lbUpdateProgress + // + this.lbUpdateProgress.Appearance.Options.UseTextOptions = true; + this.lbUpdateProgress.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.lbUpdateProgress.Location = new System.Drawing.Point(537, 353); + this.lbUpdateProgress.Name = "lbUpdateProgress"; + this.lbUpdateProgress.Size = new System.Drawing.Size(192, 14); + this.lbUpdateProgress.StyleController = this.layoutControl1; + this.lbUpdateProgress.TabIndex = 15; + this.lbUpdateProgress.Text = "0/0 bytes"; + // + // pgUpdate + // + this.pgUpdate.Location = new System.Drawing.Point(7, 371); + this.pgUpdate.Name = "pgUpdate"; + this.pgUpdate.Size = new System.Drawing.Size(722, 39); + this.pgUpdate.StyleController = this.layoutControl1; + this.pgUpdate.TabIndex = 14; + // + // lbUpdateTime + // + this.lbUpdateTime.Location = new System.Drawing.Point(7, 353); + this.lbUpdateTime.Name = "lbUpdateTime"; + this.lbUpdateTime.Size = new System.Drawing.Size(526, 14); + this.lbUpdateTime.StyleController = this.layoutControl1; + this.lbUpdateTime.TabIndex = 13; + this.lbUpdateTime.Text = "00:00"; + // + // lbFileInfo + // + this.lbFileInfo.Appearance.Options.UseTextOptions = true; + this.lbFileInfo.Appearance.TextOptions.VAlignment = DevExpress.Utils.VertAlignment.Top; + this.lbFileInfo.Location = new System.Drawing.Point(7, 106); + this.lbFileInfo.Name = "lbFileInfo"; + this.lbFileInfo.Size = new System.Drawing.Size(556, 196); + this.lbFileInfo.StyleController = this.layoutControl1; + this.lbFileInfo.TabIndex = 12; + this.lbFileInfo.Text = "File Information"; + // + // btnFwUpdate + // + this.btnFwUpdate.Location = new System.Drawing.Point(567, 54); + this.btnFwUpdate.Name = "btnFwUpdate"; + this.btnFwUpdate.Size = new System.Drawing.Size(162, 22); + this.btnFwUpdate.StyleController = this.layoutControl1; + this.btnFwUpdate.TabIndex = 8; + this.btnFwUpdate.Text = "Firmware Update"; + this.btnFwUpdate.Click += new System.EventHandler(this.btnFwUpdate_Click); + // + // btnClose + // + this.btnClose.Location = new System.Drawing.Point(3, 418); + this.btnClose.Name = "btnClose"; + this.btnClose.Size = new System.Drawing.Size(730, 57); + this.btnClose.StyleController = this.layoutControl1; + this.btnClose.TabIndex = 6; + this.btnClose.Text = "CLOSE"; + this.btnClose.Click += new System.EventHandler(this.btnClose_Click); + // + // btnFind + // + this.btnFind.Location = new System.Drawing.Point(567, 28); + this.btnFind.Name = "btnFind"; + this.btnFind.Size = new System.Drawing.Size(162, 22); + this.btnFind.StyleController = this.layoutControl1; + this.btnFind.TabIndex = 5; + this.btnFind.Text = "Find File..."; + this.btnFind.Click += new System.EventHandler(this.btnFind_Click); + // + // edFilename + // + this.edFilename.Location = new System.Drawing.Point(87, 28); + this.edFilename.Name = "edFilename"; + this.edFilename.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F); + this.edFilename.Properties.Appearance.Options.UseFont = true; + this.edFilename.Size = new System.Drawing.Size(476, 22); + this.edFilename.StyleController = this.layoutControl1; + this.edFilename.TabIndex = 4; + // + // layoutControlGroup1 + // + this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1"; + this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup1.GroupBordersVisible = false; + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem3, + this.layoutControlGroup2, + this.layoutControlGroup3}); + this.layoutControlGroup1.Name = "Root"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup1.Size = new System.Drawing.Size(736, 478); + this.layoutControlGroup1.TextVisible = false; + // + // layoutControlItem3 + // + this.layoutControlItem3.Control = this.btnClose; + this.layoutControlItem3.CustomizationFormText = "layoutControlItem3"; + this.layoutControlItem3.Location = new System.Drawing.Point(0, 415); + this.layoutControlItem3.MinSize = new System.Drawing.Size(93, 26); + this.layoutControlItem3.Name = "layoutControlItem3"; + this.layoutControlItem3.Size = new System.Drawing.Size(734, 61); + this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem3.TextVisible = false; + // + // layoutControlGroup2 + // + this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem4, + this.layoutControlItem8, + this.emptySpaceItem1, + this.emptySpaceItem4, + this.layoutControlItem5, + this.emptySpaceItem3, + this.layoutControlItem2, + this.layoutControlItem1, + this.lcItemGotoBoot, + this.emptySpaceItem5, + this.lcItemGotoApp, + this.emptySpaceItem6, + this.lcItemFlashErase, + this.lcItemFlashWrite, + this.layoutControlItem6}); + this.layoutControlGroup2.Location = new System.Drawing.Point(0, 0); + this.layoutControlGroup2.Name = "layoutControlGroup2"; + this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup2.Size = new System.Drawing.Size(734, 307); + this.layoutControlGroup2.Text = "Update Command"; + // + // layoutControlItem4 + // + this.layoutControlItem4.Control = this.btnRestart; + this.layoutControlItem4.CustomizationFormText = "layoutControlItem4"; + this.layoutControlItem4.Location = new System.Drawing.Point(560, 245); + this.layoutControlItem4.MaxSize = new System.Drawing.Size(0, 33); + this.layoutControlItem4.MinSize = new System.Drawing.Size(93, 33); + this.layoutControlItem4.Name = "layoutControlItem4"; + this.layoutControlItem4.Size = new System.Drawing.Size(166, 33); + this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem4.TextVisible = false; + // + // layoutControlItem8 + // + this.layoutControlItem8.Control = this.lbFileInfo; + this.layoutControlItem8.CustomizationFormText = "layoutControlItem8"; + this.layoutControlItem8.Location = new System.Drawing.Point(0, 78); + this.layoutControlItem8.MinSize = new System.Drawing.Size(74, 18); + this.layoutControlItem8.Name = "layoutControlItem8"; + this.layoutControlItem8.Size = new System.Drawing.Size(560, 200); + this.layoutControlItem8.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem8.TextVisible = false; + // + // emptySpaceItem1 + // + this.emptySpaceItem1.AllowHotTrack = false; + this.emptySpaceItem1.CustomizationFormText = "emptySpaceItem1"; + this.emptySpaceItem1.Location = new System.Drawing.Point(560, 218); + this.emptySpaceItem1.Name = "emptySpaceItem1"; + this.emptySpaceItem1.Size = new System.Drawing.Size(166, 27); + this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0); + // + // emptySpaceItem4 + // + this.emptySpaceItem4.AllowHotTrack = false; + this.emptySpaceItem4.CustomizationFormText = "emptySpaceItem4"; + this.emptySpaceItem4.Location = new System.Drawing.Point(0, 52); + this.emptySpaceItem4.Name = "emptySpaceItem4"; + this.emptySpaceItem4.Size = new System.Drawing.Size(560, 26); + this.emptySpaceItem4.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlItem5 + // + this.layoutControlItem5.Control = this.btnFwUpdate; + this.layoutControlItem5.CustomizationFormText = "layoutControlItem5"; + this.layoutControlItem5.Location = new System.Drawing.Point(560, 26); + this.layoutControlItem5.MinSize = new System.Drawing.Size(108, 26); + this.layoutControlItem5.Name = "layoutControlItem5"; + this.layoutControlItem5.Size = new System.Drawing.Size(166, 26); + this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem5.TextVisible = false; + // + // emptySpaceItem3 + // + this.emptySpaceItem3.AllowHotTrack = false; + this.emptySpaceItem3.CustomizationFormText = "emptySpaceItem3"; + this.emptySpaceItem3.Location = new System.Drawing.Point(0, 26); + this.emptySpaceItem3.Name = "emptySpaceItem3"; + this.emptySpaceItem3.Size = new System.Drawing.Size(405, 26); + this.emptySpaceItem3.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.btnFind; + this.layoutControlItem2.CustomizationFormText = "layoutControlItem2"; + this.layoutControlItem2.Location = new System.Drawing.Point(560, 0); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(166, 26); + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.edFilename; + this.layoutControlItem1.CustomizationFormText = "layoutControlItem1"; + this.layoutControlItem1.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(560, 26); + this.layoutControlItem1.Text = "File Name : "; + this.layoutControlItem1.TextSize = new System.Drawing.Size(68, 14); + // + // lcItemGotoBoot + // + this.lcItemGotoBoot.Control = this.btnGotoBoot; + this.lcItemGotoBoot.Location = new System.Drawing.Point(560, 166); + this.lcItemGotoBoot.MinSize = new System.Drawing.Size(89, 26); + this.lcItemGotoBoot.Name = "lcItemGotoBoot"; + this.lcItemGotoBoot.Size = new System.Drawing.Size(166, 26); + this.lcItemGotoBoot.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcItemGotoBoot.TextSize = new System.Drawing.Size(0, 0); + this.lcItemGotoBoot.TextVisible = false; + // + // emptySpaceItem5 + // + this.emptySpaceItem5.AllowHotTrack = false; + this.emptySpaceItem5.Location = new System.Drawing.Point(560, 52); + this.emptySpaceItem5.MinSize = new System.Drawing.Size(166, 24); + this.emptySpaceItem5.Name = "emptySpaceItem5"; + this.emptySpaceItem5.Size = new System.Drawing.Size(166, 47); + this.emptySpaceItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.emptySpaceItem5.TextSize = new System.Drawing.Size(0, 0); + // + // lcItemGotoApp + // + this.lcItemGotoApp.Control = this.btnGotoApp; + this.lcItemGotoApp.Location = new System.Drawing.Point(560, 192); + this.lcItemGotoApp.MinSize = new System.Drawing.Size(89, 26); + this.lcItemGotoApp.Name = "lcItemGotoApp"; + this.lcItemGotoApp.Size = new System.Drawing.Size(166, 26); + this.lcItemGotoApp.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcItemGotoApp.TextSize = new System.Drawing.Size(0, 0); + this.lcItemGotoApp.TextVisible = false; + this.lcItemGotoApp.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; + // + // emptySpaceItem6 + // + this.emptySpaceItem6.AllowHotTrack = false; + this.emptySpaceItem6.Location = new System.Drawing.Point(560, 151); + this.emptySpaceItem6.Name = "emptySpaceItem6"; + this.emptySpaceItem6.Size = new System.Drawing.Size(166, 15); + this.emptySpaceItem6.TextSize = new System.Drawing.Size(0, 0); + // + // lcItemFlashErase + // + this.lcItemFlashErase.Control = this.btnFlashErase; + this.lcItemFlashErase.Location = new System.Drawing.Point(560, 99); + this.lcItemFlashErase.MinSize = new System.Drawing.Size(101, 26); + this.lcItemFlashErase.Name = "lcItemFlashErase"; + this.lcItemFlashErase.Size = new System.Drawing.Size(166, 26); + this.lcItemFlashErase.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcItemFlashErase.TextSize = new System.Drawing.Size(0, 0); + this.lcItemFlashErase.TextVisible = false; + // + // lcItemFlashWrite + // + this.lcItemFlashWrite.Control = this.btnFlashWrite; + this.lcItemFlashWrite.Location = new System.Drawing.Point(560, 125); + this.lcItemFlashWrite.MinSize = new System.Drawing.Size(101, 26); + this.lcItemFlashWrite.Name = "lcItemFlashWrite"; + this.lcItemFlashWrite.Size = new System.Drawing.Size(166, 26); + this.lcItemFlashWrite.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcItemFlashWrite.TextSize = new System.Drawing.Size(0, 0); + this.lcItemFlashWrite.TextVisible = false; + // + // layoutControlGroup3 + // + this.layoutControlGroup3.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem12, + this.emptySpaceItem2, + this.layoutControlItem9, + this.layoutControlItem11, + this.layoutControlItem10}); + this.layoutControlGroup3.Location = new System.Drawing.Point(0, 307); + this.layoutControlGroup3.Name = "layoutControlGroup3"; + this.layoutControlGroup3.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup3.Size = new System.Drawing.Size(734, 108); + this.layoutControlGroup3.Text = "Update Status"; + // + // layoutControlItem12 + // + this.layoutControlItem12.Control = this.lbUpdateStatus; + this.layoutControlItem12.CustomizationFormText = "layoutControlItem12"; + this.layoutControlItem12.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem12.MinSize = new System.Drawing.Size(74, 18); + this.layoutControlItem12.Name = "layoutControlItem12"; + this.layoutControlItem12.Size = new System.Drawing.Size(530, 18); + this.layoutControlItem12.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem12.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem12.TextVisible = false; + // + // emptySpaceItem2 + // + this.emptySpaceItem2.AllowHotTrack = false; + this.emptySpaceItem2.CustomizationFormText = "emptySpaceItem2"; + this.emptySpaceItem2.Location = new System.Drawing.Point(530, 0); + this.emptySpaceItem2.Name = "emptySpaceItem2"; + this.emptySpaceItem2.Size = new System.Drawing.Size(196, 18); + this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlItem9 + // + this.layoutControlItem9.Control = this.lbUpdateTime; + this.layoutControlItem9.CustomizationFormText = "layoutControlItem9"; + this.layoutControlItem9.Location = new System.Drawing.Point(0, 18); + this.layoutControlItem9.MinSize = new System.Drawing.Size(74, 18); + this.layoutControlItem9.Name = "layoutControlItem9"; + this.layoutControlItem9.Size = new System.Drawing.Size(530, 18); + this.layoutControlItem9.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem9.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem9.TextVisible = false; + // + // layoutControlItem11 + // + this.layoutControlItem11.Control = this.lbUpdateProgress; + this.layoutControlItem11.CustomizationFormText = "layoutControlItem11"; + this.layoutControlItem11.Location = new System.Drawing.Point(530, 18); + this.layoutControlItem11.MinSize = new System.Drawing.Size(74, 18); + this.layoutControlItem11.Name = "layoutControlItem11"; + this.layoutControlItem11.Size = new System.Drawing.Size(196, 18); + this.layoutControlItem11.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem11.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem11.TextVisible = false; + // + // layoutControlItem10 + // + this.layoutControlItem10.Control = this.pgUpdate; + this.layoutControlItem10.CustomizationFormText = "layoutControlItem10"; + this.layoutControlItem10.Location = new System.Drawing.Point(0, 36); + this.layoutControlItem10.MinSize = new System.Drawing.Size(54, 16); + this.layoutControlItem10.Name = "layoutControlItem10"; + this.layoutControlItem10.Size = new System.Drawing.Size(726, 43); + this.layoutControlItem10.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem10.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem10.TextVisible = false; + // + // edTargetID + // + this.edTargetID.Location = new System.Drawing.Point(492, 54); + this.edTargetID.Name = "edTargetID"; + this.edTargetID.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F); + this.edTargetID.Properties.Appearance.Options.UseFont = true; + this.edTargetID.Properties.EditFormat.FormatType = DevExpress.Utils.FormatType.Numeric; + this.edTargetID.RightToLeft = System.Windows.Forms.RightToLeft.Yes; + this.edTargetID.Size = new System.Drawing.Size(71, 22); + this.edTargetID.StyleController = this.layoutControl1; + this.edTargetID.TabIndex = 22; + // + // layoutControlItem6 + // + this.layoutControlItem6.Control = this.edTargetID; + this.layoutControlItem6.Location = new System.Drawing.Point(405, 26); + this.layoutControlItem6.Name = "layoutControlItem6"; + this.layoutControlItem6.Size = new System.Drawing.Size(155, 26); + this.layoutControlItem6.Text = "Target ID"; + this.layoutControlItem6.TextSize = new System.Drawing.Size(68, 14); + // + // fmxFwUpdate + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(736, 478); + this.Controls.Add(this.layoutControl1); + this.IconOptions.Icon = ((System.Drawing.Icon)(resources.GetObject("fmxFwUpdate.IconOptions.Icon"))); + this.Name = "fmxFwUpdate"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "fmFwUpdate"; + this.Activated += new System.EventHandler(this.fmxFwUpdate_Activated); + this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.fmxFwUpdate_FormClosed); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pgUpdate.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.edFilename.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcItemGotoBoot)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcItemGotoApp)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcItemFlashErase)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcItemFlashWrite)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.edTargetID.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraEditors.SimpleButton btnFind; + private DevExpress.XtraEditors.TextEdit edFilename; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + private DevExpress.XtraEditors.SimpleButton btnClose; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private DevExpress.XtraEditors.SimpleButton btnFwUpdate; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem3; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem4; + private DevExpress.XtraEditors.LabelControl lbFileInfo; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2; + private DevExpress.XtraEditors.LabelControl lbUpdateTime; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9; + private DevExpress.XtraEditors.ProgressBarControl pgUpdate; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem10; + private DevExpress.XtraEditors.LabelControl lbUpdateProgress; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem11; + private DevExpress.XtraEditors.LabelControl lbUpdateStatus; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem12; + private DevExpress.XtraEditors.SimpleButton btnRestart; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3; + private DevExpress.XtraEditors.SimpleButton btnGotoApp; + private DevExpress.XtraEditors.SimpleButton btnGotoBoot; + private DevExpress.XtraLayout.LayoutControlItem lcItemGotoBoot; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem5; + private DevExpress.XtraLayout.LayoutControlItem lcItemGotoApp; + private DevExpress.XtraEditors.SimpleButton btnFlashWrite; + private DevExpress.XtraEditors.SimpleButton btnFlashErase; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem6; + private DevExpress.XtraLayout.LayoutControlItem lcItemFlashErase; + private DevExpress.XtraLayout.LayoutControlItem lcItemFlashWrite; + private DevExpress.XtraEditors.TextEdit edTargetID; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6; + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxFwUpdate.cs b/LFP_Manager/Forms/fmxFwUpdate.cs new file mode 100644 index 0000000..662796f --- /dev/null +++ b/LFP_Manager/Forms/fmxFwUpdate.cs @@ -0,0 +1,496 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Linq; +using System.Windows.Forms; +using DevExpress.XtraEditors; +using System.IO; +using System.Runtime.InteropServices; + +using System.Threading; + +using LFP_Manager.Function; +using LFP_Manager.Utils; + +namespace LFP_Manager +{ + public delegate void AutoTxSetEnvent(bool autoTx); + public delegate void SendDataUartEvent(ushort dev_addr, byte[] data, bool ReplyFlag, int type); + + public partial class fmxFwUpdate : XtraForm + { + #region DEFINES + + const int FW_UPDATE_START_ADDR = 0x08080000; + const int FW_UPDATE_END_ADDR = 0x080E0000 - 1; + const int FW_UPDATE_SECTOR_SIZE = 0x20000; + const int FW_UPDATE_PACKET_SIZE = 0x800; + + const int APP_TO_BOOT = 0; + const int BOOT_TO_APP = 1; + + #endregion + + #region VARIABLES + + private UInt32 SystemId = 0; + private byte[] fwdata; + private int fwsize; + private int FwStartAddr = 0; + private int FwCurrPosition = 0; + private int FwSentLength = 0; + + private bool StopUpdate = true; + + private DateTime UpdateStartTime; + private TimeSpan UpdateTime; + + public event AutoTxSetEnvent OnAutoTxSet = null; + public event SendDataUartEvent OnSendUartData = null; + + #endregion + + #region CONSTRUCTORS + + public fmxFwUpdate(int sID) + { + InitializeComponent(); + + SystemId = (UInt32)sID; + edTargetID.Text = sID.ToString(); + + fwdata = null; + fwsize = 0; + btnFwUpdate.Enabled = false; + + lcItemFlashErase.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; + lcItemFlashWrite.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; + lcItemGotoBoot.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; + lcItemGotoApp.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; + } + + #endregion + + #region BUTTON EVENTS + + private void btnClose_Click(object sender, EventArgs e) + { + Close(); + } + + private void btnFwUpdate_Click(object sender, EventArgs e) + { + if (edTargetID.Text == "") + { + MessageBox.Show("Please check target id !!"); + return; + } + + SystemId = Convert.ToUInt32(edTargetID.Text); + + if (StopUpdate == true) + { + // Working mode change (Application --> Boot) - It need to be wait more than 1.5sec + OnAutoTxSet?.Invoke(false); + + DisplayLabelUpdate("Goto Bootloader Mode"); + RequestModeChange(APP_TO_BOOT); + UpdateStartTime = DateTime.Now; + + btnFwUpdate.Text = "Cancel Update"; + btnFwUpdate.Enabled = false; + + for (int i = 0; i < 2000; i += 100) + { + Thread.Sleep(100); + Application.DoEvents(); + } + + btnFwUpdate.Enabled = true; + // Flash Erase + RequestFlashErase(); + } + else + { + StopFwUpdate(); + } + } + + private void StopFwUpdate() + { + StopUpdate = true; + btnFwUpdate.Text = "Firmware Update"; + pgUpdate.Position = 0; + //pgUpdate.Properties.Maximum = 0; + //lbUpdateProgress.Text = "-/-"; + lbUpdateStatus.Text = "Stop Update"; + } + + public static byte[] ToByteArray(String HexString) + { + int NumberChars = HexString.Length; + byte[] bytes = new byte[NumberChars / 2]; + for (int i = 0; i < NumberChars; i += 2) + { + bytes[i / 2] = Convert.ToByte(HexString.Substring(i, 2), 16); + } + return bytes; + } + private void btnFind_Click(object sender, EventArgs e) + { + OpenFileDialog oDialog; + + oDialog = new OpenFileDialog(); + oDialog.DefaultExt = "*.*"; + oDialog.Filter = "hex files (*.hex)|*.hex|All files (*.*)|*.*"; + + if (oDialog.ShowDialog() == DialogResult.OK) + { + edFilename.Text = oDialog.FileName; + + int addr1 = 0; + int addr2 = 0; + string[] aline = File.ReadLines(edFilename.Text).ToArray(); + for (int i = 0; i < aline.Length; i++) + { + byte[] a = ToByteArray(aline[i].Substring(1, aline[i].Length - 1)); + switch (a[3]) + { + case 0: // data record + addr2 = (int)((a[1] << 8) | a[2]) + a[0]; + if (FwStartAddr == 0) + FwStartAddr = (int)((a[1] << 8) | a[2]); + break; + case 1: // End of file record. Usually, it is 00000001FF + + break; + case 2: // Extended Segment address record. This indicates segment base address when 16 bits is not enough for addressing memory; + break; + case 3: // Start segment address record. Indicates initial segment base address. + break; + case 4: // Extended Linear Address Record – allows 32 bit addressing. + addr1 = (int)((a[4] << 8) | a[5]); + break; + case 5: // Start Linear Address Record. + break; + } + } + int FwImageSize = (int)((addr1 << 16) + addr2 - FwStartAddr); + if ((FwImageSize % 128) > 0) + { + FwImageSize = ((FwImageSize / 128) + 1) * 128; + } + else + { + FwImageSize = ((FwImageSize / 128) + 0) * 128; + } + addr1 = 0; + addr2 = 0; + fwsize = FwImageSize; + fwdata = new byte[fwsize]; + for (int i = 0; i < fwdata.Length; i++) + { + fwdata[i] = 0xFF; + } + for (int i = 0; i < aline.Length; i++) + { + byte[] a = ToByteArray(aline[i].Substring(1, aline[i].Length - 1)); + switch (a[3]) + { + case 0: // data record + addr2 = (int)((a[1] << 8) | a[2]); + int len = a[0]; + for (int j = 0; j < len; j++) + { + fwdata[((addr1 << 16) + addr2) - FwStartAddr + j] = a[4 + j]; + } + break; + case 1: // End of file record. Usually, it is 00000001FF + + break; + case 2: // Extended Segment address record. This indicates segment base address when 16 bits is not enough for addressing memory; + break; + case 3: // Start segment address record. Indicates initial segment base address. + break; + case 4: // Extended Linear Address Record – allows 32 bit addressing. + addr1 = (int)((a[4] << 8) | a[5]); + break; + case 5: // Start Linear Address Record. + break; + } + } + + string strName = Path.GetFileName(edFilename.Text); + + lbFileInfo.Text = string.Format("File Information"); + lbFileInfo.Text += string.Format("\r\n - Filename: {0}", strName); + lbFileInfo.Text += string.Format("\r\n - File Version: {0}", strName.Substring(0, 12)); + lbFileInfo.Text += string.Format("\r\n - File Size: {0:#,##0} bytes", fwsize); + lbFileInfo.Text += string.Format("\r\n - Packet Size: {0:#,##0} packets", fwsize / 128); + lbFileInfo.Text += string.Format("\r\n - Last packet: {0:#,##0}", fwsize % 128); + lbFileInfo.Text += string.Format("\r\n - Start Addr : 0x{0:X8}", FwStartAddr); + + lbUpdateProgress.Text = string.Format("{0:#,##0}/{1:#,##0} bytes", 0, fwsize); + pgUpdate.Properties.Maximum = (int)fwsize; + + btnFwUpdate.Enabled = true; + } + } + + #endregion + + #region FORM EVENT + + private void fmxFwUpdate_Activated(object sender, EventArgs e) + { + //OnAutoTxSet?.Invoke(false); + } + + private void fmxFwUpdate_FormClosed(object sender, FormClosedEventArgs e) + { + OnAutoTxSet?.Invoke(true); + } + + #endregion + + #region PUBLIC FUNCTION + + void DisplayLabelUpdate(string msg) + { + if (this.InvokeRequired) + { + this.Invoke(new MethodInvoker(delegate () + { + lbUpdateStatus.Text = string.Format("Update Status : {0}", msg); + })); + } + else + { + lbUpdateStatus.Text = string.Format("Update Status : {0}", msg); + } + } + void DisplayUpdateProgress() + { + if (this.InvokeRequired) + { + _ = this.Invoke(new MethodInvoker(delegate () + { + lbUpdateProgress.Text = string.Format("{0:#,##0}/{1:#,##0} bytes", FwCurrPosition, fwsize); + pgUpdate.Position = FwCurrPosition; + UpdateTime = DateTime.Now - UpdateStartTime; + lbUpdateTime.Text = string.Format("{0:mm}:{0:ss}", UpdateTime); + })); + } + else + { + lbUpdateProgress.Text = string.Format("{0:#,##0}/{1:#,##0} bytes", FwCurrPosition, fwsize); + pgUpdate.Position = FwCurrPosition; + UpdateTime = DateTime.Now - UpdateStartTime; + lbUpdateTime.Text = string.Format("{0:mm}:{0:ss}", UpdateTime); + } + } + + public void RecvData(byte[] rdata) + { + //lbUpdateStatus.Text = String.Format("Recv Data: 0x{0:X8} {1:X2} {2:X2} {3:X2} {4:X2} {5:X2} {6:X2} {7:X2} {8:X2}" + // , rhdr, rdata[0], rdata[1], rdata[2], rdata[3], rdata[4], rdata[5], rdata[6], rdata[7]); + + if (StopUpdate == false) + { + if (rdata[0] == 0x7F) + { + switch (rdata[1]) + { + case 0x43: // Erase Flash + if (rdata[2] == 0x79) + { + // Erase Success + DisplayLabelUpdate("Flash Erase Success"); + byte[] sdata = new byte[128]; + FwCurrPosition = 0; + for (int i = 0; i < sdata.Length; i++) + { + sdata[i] = fwdata[FwCurrPosition + i]; + } + RequestFlashWrite(FwStartAddr + FwCurrPosition, sdata); + } + else if (rdata[2] == 0x1F) + { + // Erase Fail + DisplayLabelUpdate("Flash Erase Fail"); + StopUpdate = true; + } + break; + case 0x31: // Write Flash + if (rdata[2] == 0x79) + { + // Write Success + string str = string.Format("Flash Write Success - {0}/{1}", FwCurrPosition, FwSentLength); + DisplayLabelUpdate(str); + DisplayUpdateProgress(); + + FwCurrPosition += FwSentLength; + + int Remain = fwdata.Length - FwCurrPosition; + if (Remain > 0) + { + int len = (Remain > 128) ? 128 : Remain; + byte[] sdata = new byte[len]; + for (int i = 0; i < sdata.Length; i++) + { + sdata[i] = fwdata[FwCurrPosition + i]; + } + RequestFlashWrite(FwStartAddr + FwCurrPosition, sdata); + } + else + { + RequestModeChange(BOOT_TO_APP); + // Write Success + str = string.Format("Complete Update - {0}/{1}", FwCurrPosition, FwSentLength); + DisplayLabelUpdate(str); + DisplayUpdateProgress(); + //MessageBox.Show("Complete Firmware Update", "Result", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + } + else if (rdata[2] == 0x1F) + { + // Write Fail + DisplayLabelUpdate("Flash Write Fail"); + StopUpdate = true; + } + break; + } + } + } + } + + #endregion + + #region UART PACKET FUNCTION + private void RequestModeChange(int mode) + { + byte[] sdata = null; + byte[] crc; + + if (mode == 0) + { + // Normal mode --> Bootloader mode + sdata = new byte[8]; + sdata[0] = (byte)SystemId; // Dev Address + sdata[1] = 0x50; // Function Code + sdata[2] = 0x80; // Address H + sdata[3] = 0x00; // Address L + sdata[4] = 0x00; // Number of Register H + sdata[5] = 0x00; // Number of Register L + + crc = csSerialCommFunction.GetCRC(sdata, 6); + + sdata[6] = crc[1]; // CRCH + sdata[7] = crc[0]; // CRCL + + StopUpdate = false; + } + else if (mode == 1) + { + // Bootloader mode --> Normal mode + sdata = new byte[5]; + sdata[0] = 0x7F; // Dev Address + sdata[1] = 0x21; // Function Code,,+ + sdata[2] = 0xDE; // Sub Code + + crc = csSerialCommFunction.GetCRC(sdata, 3); + + sdata[3] = crc[1]; // CRCH + sdata[4] = crc[0]; // CRCL + + StopFwUpdate(); + } + OnSendUartData?.Invoke((ushort)SystemId, sdata, false, 0); + } + + private void RequestFlashErase() + { + byte[] sdata = null; + byte[] crc; + + // Flash Erase + sdata = new byte[5]; + sdata[0] = 0x7F; // Dev Address + sdata[1] = 0x43; // Function Code + sdata[2] = 0xBC; // Sub Code + + crc = csSerialCommFunction.GetCRC(sdata, 3); + + sdata[3] = crc[1]; // CRCH + sdata[4] = crc[0]; // CRCL + + OnSendUartData?.Invoke((ushort)SystemId, sdata, true, 0); + } + private void RequestFlashWrite(int addr, byte[] data) + { + byte[] sdata = null; + byte[] crc; + + // Flash Write + sdata = new byte[6 + 128 + 2]; + for (int i = 0; i < sdata.Length; i++) + { + sdata[i] = 0xFF; + } + sdata[0] = 0x7F; // Dev Address + sdata[1] = 0x31; // Function Code + sdata[2] = 0xCE; // Sub Code + sdata[3] = (byte)(addr >> 16); // Addr H + sdata[4] = (byte)(addr >> 8); // Addr L MSB + sdata[5] = (byte)(addr & 0xff); // Addr L LSB + + for (int i = 0; i < data.Length; i++) + { + sdata[6 + i] = data[i]; + } + + crc = csSerialCommFunction.GetCRC(sdata, sdata.Length - 2); + + sdata[sdata.Length - 2] = crc[1]; // CRCH + sdata[sdata.Length - 1] = crc[0]; // CRCL + + FwSentLength = data.Length; + OnSendUartData?.Invoke((ushort)SystemId, sdata, false, 0); + } + #endregion + + #region BUTTON EVENT + private void btnGotoBoot_Click(object sender, EventArgs e) + { + OnAutoTxSet?.Invoke(false); + + RequestModeChange(APP_TO_BOOT); + UpdateStartTime = DateTime.Now; + } + + private void btnGotoApp_Click(object sender, EventArgs e) + { + RequestModeChange(BOOT_TO_APP); + } + + private void btnFlashErase_Click(object sender, EventArgs e) + { + RequestFlashErase(); + } + + private void btnFlashWrite_Click(object sender, EventArgs e) + { + byte[] sdata = new byte[128]; + FwCurrPosition = 0; + for (int i = 0; i < sdata.Length; i++) + { + sdata[i] = fwdata[FwCurrPosition + i]; + } + RequestFlashWrite(FwStartAddr + FwCurrPosition, sdata); + } + #endregion + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxFwUpdate.resx b/LFP_Manager/Forms/fmxFwUpdate.resx new file mode 100644 index 0000000..2c2a4ce --- /dev/null +++ b/LFP_Manager/Forms/fmxFwUpdate.resx @@ -0,0 +1,4571 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAQAICAAAAEAGACoDAAARgAAADAwAAABABgAqBwAAO4MAACAgAAAAQAYACjIAACWKQAAAAAAAAEA + GAAoIAMAvvEAACgAAAAgAAAAQAAAAAEAGAAAAAAAgAwAAAAAAAAAAAAAAAAAAAAAAAD///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////+/v7+/v7+/v7+/v7+/v7+/v7+/v7/ + ///+/v7////////////////////////////////////////////////////////+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7////+/v7+/v3+/v3+/v3+/v7+/f3////////+/v7///////////////////// + ///////////////////////////+/v7////+/v7+/f3+/v7+/v3+/v3+/v3+/v7////7+ff///////// + ///////////////+/v3+/v7////+/v7////////////////////////////////////////+/v7////+ + /v7+/v7////////////////////////7+PbCnHejazCkbTKkbDKlbjSdYTDLrIr////9/Pz+/v7///// + ///////////////////////////////////////////+/v79/fz////BnHSeYjClbjSkbDKkbDOjazDc + x7L49PGkbDKEOACKQwCJQQCHPgCNRwTt49n+/v39/Pz+/v7+/v7///////////////////////////// + ///+/v7+/v79/Pv//v7j0sKHPgCJQACJQQCLRACCNgCufkv////////q3tKOSQePSgSPSwKRTQSHPgCt + e0f////9/Pv+/v7////////////////////////////////+/v7////9/f39/Pv9/PuiaS6JQQCQTQOP + SwKNSAOUUxLz7ef+/f37+Pb////AmnKGOwCQTAKOSQCPSwKHPwDaxa7////8+/r+/v7+/v7///////// + ///////////+/v7///7+/v77+vj////OsJGGPACQTAKOSQCQTAKGPADNr4/////7+ff9/Pv9/fz38u6Z + WhuLQwCPSgGPSgGLRQGcXyH59vP9/fz9/fz////+/v7////////+/v7+/v7////+/v77+vn////u5NqS + Tw+OSAKOSQCPSwKJQACiai/8+vn9/Pz9/f3+///9/Pv////WvqWHPQCQTAOOSQCQTQOGPADDn3j////8 + +/r+/v7////+/v7+/v7+/v79/fz8+/r9/f3////u49mdYSiKQwCPSwGOSQCPSwKKQgDi0L/////9/Pv+ + /v7//v7+/v79/Pz///+seUOIPwCQTAKOSQCOSQKNSAbq39P+/v39/Pz+/v7////////////////////+ + /v7SuJ6WVRiLRQCRTwaQTASSUAeHPgC4jV7////9/Pv+/v7////+/v7+/v79/Pz+/v7r39SOSQeOSgKO + SQCQSwKHPwCsekT+/v/9/Pz+/v78+/r49PDy6uPi0cDDn3yZXB9/MACEOACHPgCGOwCFPACEOgCTURDz + 7Ob9/fz9/f3////+/v7////////+/v78+/r////CnneGPACQTAKOSQCQTAKHPgDYwan////9/Pz38u7o + 2szgzbvTuZ/MrY/St5zeyrTcyLLcx7Hcx7HdybPVvKfl1cX////9/fz+/v7+/v7////////+/v7////9 + /f39/Pz59fObXiCKQwCPSgGPSgGLRAGaXB349PH9/fz+/v/////////////////28e3AmnrEn3rDn3nE + oXu+lnbcxrD////9/Pv+/v7////////////////////+/v7+/v79/Pv////bxa+HPgCPSwKOSQCQTAKG + PADAmnH////8+/r9/fz9/Pv7+ff9/Purd0F/MACGOwCFOgCEOQCEOADj0sH+/fz9/Pz+/v7+/v7///// + ///////////////////+/v79/Pz///+ufkqHPgCQTAKOSQCOSgKNRwPp3M/+/v79/Pv8+/r////YwaqH + PgCSTwaQTAOSTwaHPgDDn3n////9/Pv+/v7////////////////////////////+/v7+/v79/Pz+/v7t + 4tiNSAaNSAKOSQCQTAKJQQCqd0D+/v79/Pv9/fz49fKbXyCMRQGPSwGPSgGLRAGYWRn38+/9/fz9/f3/ + ///+/v7///////////////////////////////7+/v79/Pv////EoHqFOwCQTQOOSQCQTQOHPwDUu6H/ + ///////Dn3iGPQCQTQOOSQCQTAOGPQDWvaT////9/Pv+/v7+/v7///////////////////////////// + ///+/v7////9/f39/Pv59vScYCOLRQGPSwKPSgGMRQGWVhf7+ffu5duNSAaOSQKOSQCQTAKJQQCqd0D+ + /v79+/r+/v7////////////////////////////////////////////+/v7+/v78+/r////cx7GJQgCQ + TAOOSQCQTAKFOwC/mXKzhVSGPACQTAKOSQCPSgKOSQfq3dH////9/Pv+/v7+/v7///////////////// + ///////////////////////////////+/v79/Pv///+wgU6HPgCQSwKOSQCPSgGMRgCMRwCPSgCOSQCQ + TAKGPADAmnH////9/Pr+/v7////////////////////////////////////////////////////+/v7+ + /v79/Pz+/v3u5NuPSwmNRwGOSQCPSgCPSwGPSgGPSQCPSgGLRACYWRn38u79/fz9/fz///7+/v7///// + ///////////////////////////////////////////////////+/v79/Pv////HpoKFOwCQTQOOSQCP + SgCPSgCOSQCQTAOGPQDVvaP////9/Pv+/v7+/v7///////////////////////////////////////// + ///////////////+/v7////9/f39/fz7+fefZSiIQACOSQCNRwCNRwCOSQCGPQCrd0H+///9/fz+/v7/ + ///////////////////////////////////////////////////////////////////+/v7+/v79/Pv/ + ///fzLmSTxWXWBWWVhSWVhSWVhSWVRrq3dH////9/Pz+/v7+/v7///////////////////////////// + ///////////////////////////////////////////+/v7+/v7////38+728e328e328e328Oz49fD/ + ///+/v7+/v7///////////////////////////////////////////////////////////////////// + ///////+/v7////////+/v3////////////////////////+/v3////////+/v7///////////////// + ///////////////////////////////////////////////////////////+/v7////+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7////+/v7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACgAAAAwAAAAYAAAAAEAGAAAAAAAgBwAAAAAAAAAAAAAAAAAAAAAAAD///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7////+/v7+/v7///////// + ///////////////////////////////////////////////////////////////////////////////+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////// + /////////v7+/v7///////////////////////////////////////////////////////////////// + ///////////////////////////+/v7////////+/v7///////////////////////////////////// + ///38u38+vn8+vj8+vj8+vj8+vj8+vj8+vj7+ff////+/v3+/v7+/v7+/v7///////////////////// + ///////////////////////////////////////////////////////////////+/v7+/v7+/v7////7 + +ff8+vj8+vj8+vj8+vj8+vj8+vj7+ff59fK7kmmbXh+cXyCcXyCcXyCcXyCbXyCdYSGWVR3Fon3////9 + /Pz+/v7///////////////////////////////////////////////////////////////////////// + ///////+/v7+/v79/f39/fz///+1iFqXVx2cYCGcXyCcXyCcXyCcXyCbXiCcYCPn2Mv7+fencTqDOACM + RgCLRACLRACLRACLRACKQwCMRQLq3tL////9/Pz+/v7///////////////////////////////////// + ///////////////////////////////////////////+/v79/Pz////Zw6uGOwCMRQCLRACLRACLRACL + QwCNRwCCNQC4jmH////////r39SNRwWOSgOOSgGPSgGPSgGPSgGQTAOIPwCpdD3////9/fz9/f3////+ + /v7////////////////////////////////////////////////////////////////+/v7+/v79/f3+ + /f359vOZWxyLRACQSwKPSgGPSgGPSgGPSgGMRQKXWBn49PD+/fz8+vn////BnHWFOgCQTAGOSQCPSgCP + SgCOSQCPTAKFOwDVvaT////9/Pv+/v7///////////////////////////////////////////////// + ///////////////////////+/v79/Pv////BnXaEOgCQTAKOSQCPSgCPSgCOSQCPSwGGOwDVvKL////8 + +/r9/Pz9/f349fKZXB2KQwCPSgGOSQCOSQCOSQCPSgGLRAGXWBj38+/+/f39/f3+/v7+/v7///////// + /////////////////////////////////////////////////v7+/v79/fz+/v7r39SMRwWNSAGOSQCO + SQCOSgCOSQCPSwGHPgCpdT7////9/Pz+/f3+/v79/Pv////YwquGPACPSwGOSQCPSgCPSgCOSQCQTAGF + OgC+l23////9/fz+/v7////+/v7////////////////////////////////////////////////+/v7+ + ///9/f39/Pv///+qdkGHPQCPSwGOSQCPSgCPSgCOSQCOSAGLRALp3dH////9/Pv+/v7+/v7+/f39/fz/ + //+se0aHPgCQTAKOSQCPSgCPSgCOSQCOSQKLRALn2s3//v79/Pz+/v7///////////////////////// + ///////////////////+/v7+/v7////+/v78+vn////Rt5qGPACQSwKOSQCPSgCPSgCOSQCQTAKFOwC/ + mXL////9/Pz+/v7////////+/v79/fz///7s4deNSAeNSAGOSQCOSQCOSQCOSQCQSwKHPgCnczv+/v79 + /Pz9/f3+/v7+/v7////////////////////////////+/v7+/v7////////9/f38+/r////j08KNSQiN + RgGOSgCOSQCOSQCOSQCPSgCLRACYWhv48/D+/f39/f3+/v7+/v7+/v7////+/v79/Pz////Dn3qFOgCQ + TAGOSQCPSgCPSgCOSQCQSwGGPADSuJ3////9/Pz+/v7////////////////////////+/v7+/v7///// + ///+/v79/Pv////////cx7KPTA2LRQCPSgCOSQCPSgCPSgCOSQCPSwGGPADWvqb////9/Pz+/v7///// + ///////////+/v79/f3+/f359/SbXiCKQgCPSgGOSQCOSQCOSQCPSgCLRQCVVBT18Oz+/f39/fz+/v7+ + /v7////+/v7+/v7+/v7+/v7+/f39/Pz9/Pv////////49PC/mHSKQgCMRQCPSgCOSQCPSgCPSgCOSQCQ + TAKGPQCreEL////9/Pz9/f3+/v7+/v7////////////////+/v79/Pv////axK6FPACPSwKOSQCPSgCP + SgCOSQCQTAKEOQC8lGn////9/Pv+/v7////////////////////////////////////49fLQs5ibXyWH + PgCPSwKQTQOQSwKQTAOQTAKQTAKPSwOOSgOMRQPq3tP////9/Pz+/v7////////////////////+/v7/ + ///+/v39/Pz///+vf0uHPgCQSwGOSQCOSgCPSgCOSQCOSQGLRAHm18n////9/fz+/v7////+/v36+Pb5 + 9fLz7ejo2s3RtpuwgFCNRwN9LQCCNQCHPgCGOwCFOwCGOwCGOwCGOwCFOwCGPAB/MADCnnj////9/Pz+ + /v7////+/v7////////////////////+/v7+/v79/fz///7v5t6PSgiNRwGOSQCPSgCOSQCOSQCPSwGJ + QAClbjX+/f39/f39/f3//v769/XfzbjZw67QtJrEoX67kmq6kGa/mXLDn3rEoHzEoHvEoHvEoHvEoHvE + oHvEoHvDoHvDnnvEoH369/X+/v79/f3+/v7+/v7////////////////////////////////+/v79/Pv/ + ///GpICFOgCQTAKOSQCPSgCPSgCOSQCQTAKGPADQtJf////9/Pz+/v7///////////////////////// + ///////////////////////////////////////////////////////+/v7+//////////////////// + ///////////////////+/v7+/v79/f3+/f36+PadYiSKQwCPSgCOSQCOSQCOSQCPSgGMRgGUVBP07uj+ + /v39/fz+/v7+/v7+/v3+/f39/fz9/Pv7+vj+/f3cyLSXVyGcYCKcXyCcXyCcXyCcXyCdYSKUUxzDn3z9 + /Pz9/Pz9/f3////+/v7////////////////////////////////////////+/v79/Pz////cx7KHPwCP + SgGOSQCPSgCPSgCOSQCQTAKGPAC5kGP////9/Pv+/v7//v7+/v7+/v7+/v79/f39/fz7+feeYyaGPACL + RQCLRACLRACLRACLRACIQACQTAnw59/+/v79/f3+/v7+/v7///////////////////////////////// + ///////+/v7///79/f39/Pv///+xglCGPACQSwGOSQCPSgCOSQCOSQCOSQGKQgDk1MT////9/fz+/v7/ + ///////+/v79/Pz////HpoOFOgCQTAKOSgCPSgGPSgGOSgGQTAKFOwDPs5b////9/Pv+/v7///////// + ///////////////////////////////////////////+/v/+/v79/Pz+/v7w59+PSgiMRgGOSgCPSgCP + SgCOSQCPSwGIQACiajD+/f39/f39/f3///7+/v79/fz+/v7w6OCPSgmNRwGOSQCOSQCOSQCOSQCPSwKI + PwCiaS79/fz9/fz9/f3+/v7+/v7///////////////////////////////////////////////////7/ + ///+/v79/Pv////Ip4WFOgCQTAKOSQCPSgCPSgCOSQCQTAKEOQDOsZP////9/Pv+/v7+/v79/Pv///+x + glGFOwCQTAKOSQCPSgCPSgCOSQCOSgKIQADj08L////9/Pz+/v7///////////////////////////// + ///////////////////////////////+/v7+/v79/f39/f38+vmeZCeJQQCPSwGOSQCOSQCOSQCPSgGM + RQGRTw7z7ef+/v39/f39/Pz////fzLiHPQCPSgGOSQCPSgCPSgCOSQCQTAGFOwC4jF/////9/fz+/v7+ + /v7+/v7////////////////////////////////////////////////////////////////+/v79/fz/ + ///fzLqHPgCOSgGOSQCPSgCPSgCOSQCQTAGFPAC3jF7////9/Pz+/f38+vifZCiJQQCPSwGOSQCOSQCP + SgCOSgGLRQGTURDz7ef+/v39/f3+/v7///////////////////////////////////////////////// + ///////////////////+/v7////+/v79/Pv///+zhVWFOwCQTAKOSQCPSgCPSgCOSQCOSgKJQQDi0cH+ + /v7////JqYeFOgCQTAKOSQCPSgCPSgCOSQCQTAKEOgDNsJH////9/Pv+/v7////+/v7///////////// + ///////////////////////////////////////////////////////+/v7+/v79/fz+/v3w6eGRTQyN + RwGOSQCOSQCOSQCOSQCPSwKJQQChaC7////x6eKRTgyNRgGPSgCPSgCOSQCOSQCPSwGJQQCiajD8+/r9 + /fz9/f3+/v7+/v7///////////////////////////////////////////////////////////////// + ///////////////+/v79/Pz////LrIuFPACQTAGOSQCPSgCPSgCOSQCQSwGFOwDPspW5j2SGPACQSwGO + SQCPSgCPSgCOSQCOSgGJQgDj0sL////9/Pz+/v7///////////////////////////////////////// + ///////////////////////////////////////////+/v7+/v79/f39/fz9/PygZyuJQACPSwGOSQCO + SQCOSQCOSQCOSACOSACNSACOSQCOSQCPSgCPSgCOSQCQTAKFOwC3i13////9/Pv+/v7////+/v7///// + //////////////////////////////////////////////////////////////////////////////// + ///+/v79/Pv////hz72JQACPSwKOSQCPSgCPSgCOSQCPSgCOSQCOSQCPSgCOSQCOSQCOSQCOSQCMRgGS + UA/y6+X+/v39/fz+/v7+/v7///////////////////////////////////////////////////////// + ///////////////////////////////+/v7////+/v79/fz///+1iVuGPACQSwGOSQCPSgCPSgCOSQCP + SgCPSgCOSQCPSgCPSgCOSQCQTAGFOgDNrpD////9/Pz+/v7///////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7+/v79/f3+ + /v3y6+SSUA6MRQGOSgCOSQCOSQCPSgCPSgCPSgCPSgCOSQCOSQCPSwGIQAChaS78+/r9/Pz9/f3+/v7+ + /v7///////////////////////////////////////////////////////////////////////////// + ///////////////////////////+/v79/Pv////NsJGFOwCQSwGOSQCPSgCPSgCPSgCPSgCOSQCPSgCO + SQCOSQGJQQDi0cD////9/Pv+/v7///////////////////////////////////////////////////// + ///////////////////////////////////////////////////////+/v7+/v79/f39/Pz8+/qiai+J + QACRTQSPSwKQSwKQSwKQSwKQSwKPSwKRTgSGPAC2iVr////9/Pv+/f3////+/v7///////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////+/v79/Pv////j08KGPQCHPQCHPgCIPgCIPgCIPgCIPgCHPwCFOgCRTgvy6uP+/f39 + /fz+/v7+/v7///////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////+/v7////+/v79/f3////JqIeufFOzhVezhFaz + hFazhFayhFazhVete1TWvqb////9/fz+/v7///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/v7+/v7+/v3////////////////////////////////////////+/v3+/v7+/v7+/v7///////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////+/v7+/f3+/f3+/fz+/fz+/fz+/fz+/fz+/fz+ + /f3+/f3///////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAgAAAAAABAAABABgAAAAAAADIAAAAAAAAAAAAAAAA + AAAAAAAA//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////v7+/v7+//////////////////////////////////////////////////////////// + /////////////////////////////////////////fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v39/v7+/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////v7+/////v7+/f38/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/////v7+ + /f39//////////////////////////////////////////////////////////////////////////// + ////////////////////////2MCn3Maw3Maw3Maw3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew + 3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Maw3Mex2cOs8uvk/v7+/f39/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+/f39////4tHA2sSs3Mex3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew + 3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mex3Mew3Mex2cKr9vHtqXQ9ikIAiUEAiUEAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAiUEAikMAgzgAq3hH/v39 + /fz8/v79/v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7+/fz8////49PCiUIBiUEAiUEA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAiUIAiUEAi0MAgzkA + nmMq+vj1/v39sYJUhz4AkU0Ej0oBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0oBj0oBkEwDhz0A1buh/////fz7/v7+/v7+/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v39/Pz8/Pr5pGw1iEAAkE0Dj0oBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sBj0sDjEYG49LC////////7OLWkU4PjEYBj0oBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAj0sBikQAmFod9fDq/v39/v39/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////7+/v7+/v7+/v7+/Pv6////za+QhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChjsAuo9l////+/n4+ff1//// + x6aFhDsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAkEwChTwAv5dw/////Pz7/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/f38/v798evik1IV + i0UBj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkoA + j0oBi0QBlVQX8+zl/f39/fz8/fz8/fz8+vbzoGYuiEAAj0sBjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjkoAjkkAjUkBjEgG6NvN/////fz8/v7+/v7+/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////7+/f7+/v7+/fz7////topehjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sChTwA0LWY/////Pv7/v7+/v///Pz7////3sq3iEABjkoC + jkkAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEsC + hz8Ap3I//fz7/fz8/v79/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v39/v///Pz7////3867iEAAjkoCjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEsChz8ApnE5/fz8/Pz7 + /v7+/v7+/v7+/v7+/Pv7////tIZYhjwAkEwBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0sChTwA0rec/////Pz7/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/v79/fz8 + +/r4oWgwiEAAj0sBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + j0kAjkkAjkoAjkkBikQF5dbG/////fz7/v7+/v7+/v7+/v7+/fz8/v7+8OffkU8QjEYBj0oAjkkAjkoA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAj0oBikMAllcb9O/p + /v39/f38/v7+/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/v7+/Pz7////yquLhTsAj0wCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChToAu5Nq/////Pz7//7+/v7+/v7+/v7+/v7+ + ///+/Pz7////y6yNhTsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAkEwBhTsAu5Rr/////Pz7/v7+/v7+/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz8/v7+7+bckU4PjEYBjkkBjkkA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjUkAj0oBi0QBllcb + 9e/p/v39/f38/v7+/v7+/////////v7+/v7+/v79/fz8+vj1oWgwiUEAj0sBjkgAjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkCi0QF5NXG/////fz8/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+//7+/f39 + /v7+/fz7////tIdZhjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkAj0sChj0A0rec/////Pz7/v7+/v7+/////v7+/v7+/////v7+/v7+/Pz7//// + 38y4ikIDj0oCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0sBhz8Ap3I8/Pv5/fz8/v39/v79/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////v7+/v7+/Pz7////3sm2iUIBj0oBjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEsCiD8AqHM+/fz7/Pz8/v7+/v7+/v7+ + /v7+/////////v7+/v7+/v7+/v7+/Pv7////topehTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAkEsChjwA0bWa/////Pv6/v7+/f39/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/f39/fz8+vj2n2UriUEA + j0sBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkoA + jkgBjEYG5tjJ/v7+/f37/v7+/v7+/////////////////////////v7+/v7+/f39/v398uriklETi0YB + j0oAjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oB + i0UAlVYZ8+3m/f79/f38/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/v7+/Pv6////yKeFhTsAkEwCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChjwAvpZv/////Pz7/v/+/v7+/v7+/v7+//////////////// + /v7+/v7+/v7+/v7+/Pz7////za6QhTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTwAuZBm/////Pv6/v7+/v7+/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v79/v7+/fz7/v7+7ePYkU4QjEcBjkkBjkkAj0oAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0QBmFof9e/p/f39/v39 + /v7+/v7+/////////////////////////////////v7+/v7+/v7+/fz8+/n3o2s1iUEAkEsBjkkAjkkA + jkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAjkkCikQD5NPD + /////Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v79/Pv7/v/+ + sIFShjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAj0sChj0A1Lqg/////Pz7/v/+/v7+/////v7+/////////////////////////v7+/////v7+ + /v7+/fz7////4tHBikMEjkkCjkoAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0sBiEAApW43/Pv5/fz7/v39/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/////Pv6////2sawiD8Aj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEsChz8AqnhE/v79/Pz7/v7+/v7+/v7+/v7+//////// + /////////////////////////v7+/v7+/v7+/v7//fz7////uI1hhj0AkEwCjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0wChj0AzrCT/////Pv6/v7+ + /f39/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/v7+/f38/f389vLtm18jikMAj0oBjkkAjkkA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkoAjUgBjUgH6NzO + /v7+/fz8/v/+/v7+/////////////////////////////////////////////////v7+/v7+/f38/v39 + 8uvjlFUWi0UBj0oBjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0oAjkkAj0oBjEYBlFMW8enh/v79/fz7/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7//v7+//7+/f39 + /Pv6////t4thhjwAj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAkEwChTsAwJp0/////fz6/v7+/v7+/v7+/v7+//////////////////////////// + /////////////v7+/////v7+/v7//Pv7////zrGUhjwAj0wCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwChjwAt4xg/////Pv7/v7+/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7//v3+/Pr6////0bWYhj0Aj0sCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkkAjkkAj0sBi0MAmVsg9vHs/v39/f39/v7+/v7+//// + /////////////////////////////////////////////////v7+/v7+/v7+/v7+/f38/Pr4pW85iD8A + kEsCjUkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + jkoCikIC4tHA/////Pv7/v7+/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7++/r5////38y4i0UHjUgBjkoA + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0wC + hz4A1r6m/////Pz7/v7+/v7+/////v7+//////////////////////////////////////////////// + /////////v7+/v7+/fz8////49LCjEYFjkkCjkoAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBiEAAomoy+/n2/fz7/v39/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v7+/v7+ + /v7++/r5////5NTCj0wQi0UAj0oAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAkEwChz8ArHpI/v7+/fz7/f79/v7+/v7+/v7+//////////////////// + /////////////////////////////////////v7+/////v7+/v7+/Pz7////upBnhTwAkEwCjUgAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0wChToAyqyM + /////Pv6/v7+/v7+/////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/////v7+/v7+/v7+/f39/Pr5////4c+9kE0SikQAj0sBjkkAjkkAj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjUgCjkoJ6d3R/v7+/f38/v7+ + /v7+/////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v39/f399O3nl1gci0UBj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oAjkkAj0oAi0UBk1ET8Ofe/v39/fz7/v7+/v7+/////v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////////v7+//7+/v7+/Pv6/f38////1LuijkkLi0QA + j0sBjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChjwAwp14/////Pv6/v7//v7+/////v7+//////////////////////////////////////// + /////////////////////////////////v7+/v7+/Pv6////0baahj4AkEwCjkkAjkkAj0oAj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwBhTwAtYlc/////Pv6/v7+ + /v7+/v7+//////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/////v7+/v7+/v7+ + /v79+/v5////+/n1wJp1iEEAjUYAj0wBjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBikMAnWAn9/Lu/fz7/f39/v7+/v7+/v7+//////////// + /////////////////////////////////////////////////////////////v7+/v7+/v7+/v7+/Pz7 + /Pv5p3I9iD4AkEwCjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAj0oCiUEA3826/////Pv6/v7+/v7+/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/////////v7+/v7+/v79/Pv6/f3+////6dzPpW89hjwAj0oBj0oBjkkAjkkAj0oAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAj0sChz4A2MKq//// + /Pv6/v7+/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz7////5dbGi0UGjkkCjkoAjkkAj0kAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBiEAAoGct+vj1/fz7/v39/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/v7+/////////v7+/v7+/f39/fz7/fz8////+vj0xaOCjkkJhz8A + j0sBj0oAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAkEwChz0Arn1L/////Pv6/v7+/v7+/v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/////v39/v/+/Pv6////vZZuhjsA + kEwDjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUgA + j0wChDoAyKiI/////Pv6/v7+/v7+/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+///////////+/v7+/v7+/v79/Pv6 + /f38////////28ayn2cyhTwAjEcAj0sCjkkAj0oAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjUcCjkoK69/U/v7//fz7/v7+/v7+/////v7+ + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/f39/f399fDrl1kci0UBj0sBjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkoAjEUAkU4P7+bc/v79/fz7/v7+/v7+/////v7+//////// + /////////////////////////////////////////////////////////v7+/////v7+/v7+/////v7+ + /////v7+/v7+/v7+/fz8/Pv6/v7+////////4M68qnhHiD8AiUEAj0sCj0oAjkkAjkkAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkE0DhjwA + xaJ//////Pv7/////v7+/v7+/v7+//////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/Pv6////07qghz4Aj0wDjkkAjkkA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwBhjwAsoRU + /v///Pv6/v7+/v7+/v7+/////////////////////////////v7+/////v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+///+/v7+/v7+/////v7+/v7+/v79/fz8/Pv6/fz8////////+/n32sSvqnZHikIAhz8AjkoA + j0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjUkAj0sCikMAnmMp+PXx/f38/f39/v7+/v7+//////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/Pz7/f38qXVBiEAAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAj0oBiD8A3cm0/////Pv6/////f39/v7+/v7+//////////////////// + /////////////////////////////v7+/////v7+/v7+/v7+/v39/fz7/Pv6/fz7/f7+//////////// + 7OHWyaiHn2UviD8Ahz4AjkkAj0sCjkkAjkkAjkoAjkoAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wDiEAA28Wv/////Pz7/v/+/v7+ + /////v7+//////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////v7+/v7+/fz7/v//6NrNjkkJjkkCj0kAjkkAjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBiUIAn2Ur+fb0/fz7/f39 + /v7+/v7+/////////////////////////v7+/v7+/v7+/v7+/f38/fv6/fz7/fz6/Pv6/fz8/fz8/v7/ + /////////////////Pz66dzPza6Qq3dGkE0Mhj0AikMAj0sCj0sCj0oAjkkAjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + kEwChz4AsIJS/v7//Pv7/v7+/v7+/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v7+/////Pv6 + ////v5lzhTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkgAkEwBhDoAxqSC/////Pv6/v7+/v79/v7+/v7+/////////////////v7+/////v7+/v7+ + /////////////////////////////v788+3l5NTE07icuY5moWgvj0sIhz4AiUIAj0oAkE0FkU0Dj0sC + kEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsB + kEsBkEsBkEsBkEsBkEsBkEsBj0sBkEwCjEgBkE4O7eTa/v7+/fz8/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/f38/f389vHsmVsgikMBj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAjEYBkEwN7ePY/v7+/fz7/v7+/f39//// + /v7+/////////////v7+/v7+/f38/v//28ayxqSAy6uKxKF6vJNssoReqHNEmVwlkEwKhjwAgTQAgDQA + hDoAiEAAikMAiUIAiEEAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAA + iEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiUIAgjYAx6WD/////Pv6 + /v7+/v7+/////v7+//////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/////v7+/v7+/Pv7////1r2khz4A + j0sCjkkAjUkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + kEwBhjwAsYFR/////fz7/v79/v7+/v7+/////////////////v7+/v7+/v39/v7+4M27za+O0bWW0LOU + z7OV0LOZ0bac07mg1ryk2MCo2cKr2cKs2MGq2MCp18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co + 18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co + 18Co18Co2MCo1r+n2MGq+vf0/v39/v79/v7+/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/v7+/Pv6/v39rHpIhz4Aj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0oBiUEA3May/////Pv6/////f39/v7+/v7+//////// + /v7+/////v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7//v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz7/v7+6d3RjUkJjUgBj0oAjkkA + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBikIAnWIn + +PXx/fz8/f39///+/v7+/////////////////v7+/////////v39/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz8/fz7+/n3+/n3+/n3+/n3+/n3+/n3 + +/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3/Pr4/fz7/fz8 + /fz8/v7+/////v7+/////v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v7+/Pv7////wZx2hDsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAkE0ChjwAxKF8/////Pv6/v7+/v7+/v7+/v7+/////v7+/////v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v///v7+/////v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/f39/f389/Ltm14iiUIAj0oBjkkAjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkoAjUgCkE0N7OHW/v7+/f38 + /v7+/v7+/////v7+//////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/f79/f39+vj20LSYzrCSz7GUzrGTz7GTz7GTz7GTz7GTz7GTz7GT + z7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTzrGTzrGTza+S0LSY+vj1/v7+/v79/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v7//Pz7 + ////2cKriD8Aj0sCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAkEwChz8Ar35O/v7+/fz8/v7+/v7+/v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/v7+/fz7////yaiIgDMAhz0A + hTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhjsAhTsAhDsAhz4A + fS0AtIdb/f38/Pz8///+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+/v7+/fz7/v//rn1Khz0Aj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sCiEAA2MGq/////Pz7/v///v7+/v7+ + /v7+/////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v7+/f38/v797+bdkU8PjUkDkU4Fj0wDkEwDkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0D + kE0DkE0DkE0DkE0DkEwDkE0DkU4FjEcFmVwe9/Pu/v7+/v38/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7//fz7/v7+69/UjkoL + jUgBj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + j0sCikMAm18j+PXw/f39/f39/v7+/v7+/////v7+//////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/fz7////tIZYhj0AkEwCjkgAjkkAj0oAjkkAjkkA + jkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAj0oAjkkAjkkAj0sChj0A0rec/////Pv7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/////Pv6////xKF9hTsAkEwCjkkAjkkAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTsAw596/////Pz7/v7+/v7+/v7+//////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/fz7////3sq3 + iUIAjkoCj0kAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkA + jkkAj0wBiD8AqHM+/fz7/Pz7/v7+/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v3+/v39/fz8+PXxnWIpiUIAj0sBjkkA + jkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkoAjUgBjkoK + 6t7S/v7+/fz8/v7+/v7+/v7+/v7+//////////////////////////////////////////////////// + /////////v7+/v7+/f39/f38+vj1oGgviUEAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkgCjEYH5tjJ/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /v7+/v7+/Pv6////2cStiEAAj0oCjkkAjkkAj0kAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkgAkEwChz4ArHpH/f38/fz8/v7+/v7+/v7+//////////////////////// + /////////////////////////////////v7+/v7+/v7+/v7+/fz8////y6yNhTwAkEwCjkkAjkkAj0kA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTwAvZRs//// + /Pv7/////v7+/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/v7+/Pv7/v7+r4FQhz0AkEwBjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkgAj0kAkEsChz4A17+n/////Pz7 + /v7+/v7+/v7+/v7+/////////////////////////////////////////////////////v7+/v7+/f38 + /v798enfklISjEYBj0oBjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAj0oBi0QAl1gb9O/p/fz8/v38/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/fz8 + /v7+7ePakE0NjEcBj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAj0sCikMBml0i9/Pu/f39/f39/v7+/v7+//////////////////////////////////// + /////////////v7+/v7+/v7+/v7+/Pz7////toldhj0AkEwCjkkAjkkAj0oAj0kAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjUkAjkkAj0sChTwA0baa/////Pv7/v7+/v7+/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+//7+/Pv6////x6SDhTsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjUgAjkkAkEwChTwAwZx1/////Pv7//7+/f39/v7+ + /v7+/////////////////////////////////////v7+/////v39/v7+/fz7////4M67ikICj0oCjkoA + jkgAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0sBiD8A + pnA8/Pv6/fz7/v7+/v7+/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v79/fz8+fbznmMq + iEEAj0sBj0kAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + jkoAjUkCjUgI59rM/////fz8//7+/f39/////v7+/////////////////////////////////////v7+ + /v7+/v39/f38+vj1oWgwiUEAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0kAjkkAj0kAjkkCi0QG5dXF/////fz7/v7//v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////v7+/v///Pz7////3cm1iEAAjkoCjkkAjUgAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChz8AqndD/fz7/fz7/v7+/v7+/v7+//////////// + /////////////////////v7+/v7+/v79/v7+/Pz7////y6uMhTwAkEwCjkkAjkkAjkoAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTsAu5Fn/////Pz7/v7//v7+ + //7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7+/Pz7////s4RVhjwAkEwCjkgA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkkAj0wChz4A + 1bui/////Pz7/v7+/f3+/v7+/v7+/////////////////////v7+/////f39/v7+/f38/v398Ojfk1ES + jUYBj0oBjkkAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + j0oBi0UBllYa8+zl/fz9/v38/v7+/v7+/v////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7//f38/v797+XckE0OjEYAj0oAjUgAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAj0sBi0QBmVoe9vHr/f39/f39///+/f39/////v7+//////////////// + /////v7+/v7+/v7+/Pz7////tYldhj0AkEwCjkkAjkkAj0oAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0oAjUkAjkkAj0wChTsA0bWZ/////Pv6/v7+/v7+/v7+//7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/v7+/Pz7////yKiGhDoAkEwDjkkAjkkAj0oAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkgAjkkAkEwChjwAv5dw/////Pv6 + /v7+/v7+/v7+/////////////////v7+/v7+/v7+///+/fz7////4dC/ikMDj0oCjkkAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wCiD8ApW85/Pv5/fz7 + /v79/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/v39 + /fz8+/j1oGYtiUEAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAjkoAjkkCjEcG5tjK/////fv7//7+/v7+/v7+//7+/////////////v79/v7+/f39/fz8 + +/r4o2oziUAAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0oAjkkCi0UF5NTE/////fz8/v7+/v7+/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////v7+/v7+/fz7////3su4iUEBj0sCjkkAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEwChz8AqHRA/f38/fz7/f39/v7+/v7+ + /v///////v7+/v7+/v7+/v/+/Pv7////za+RhTwAkEwCjkkAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkE0ChjwAu5Jo/////Pz7/v7+/v7+/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/fz7////tIdZ + hjwAkEwCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + jkkAj0wChjwA0rec/////Pv6/v7+/f7+//7+/v7+/////v7+/v7+/f38/v7+8erilFITjEYBj0oBjkkA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0UAl1YZ + 8+3m/f39/f39/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/fz8/v398Offk1ISjEcBj0oAjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBi0QBl1ga9O7n/f38/f39/v7+/v7+/////v7+/v7+ + /v7+/Pv6////t4tfhjwAkEwCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0oAjkkAjkkAkEwChz4A0LWZ/////Pz7/v7//v7+/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+/v7+/Pv7////zK2Ohj0AkEwDjkkA + jkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkgAkEwChjwA + u5Nq/////Pv6/v7+/v7+/v7+/v7+/v7+/Pz7////4dC+ikMCj0oCjkkAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wCiEAAp3E7/Pv5/fz7/v79/v7//v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/////v7+/fz7+/j2o2sziUEAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkAjkkAjkoAjkkCjEcG5dbH/////Pz7/v7+/v7+/v7+/v39/fz8+/n3pG00iUEA + j0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0kA + jkkCikQE49PC/v7//fz8/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////4c+9iUICj0oCj0kAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBiEAAp3E7/Pv5/fz8 + /v79/v7+/v7+/Pv6////zK+Qhj0AkEwCjkkAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkgAkE0ChTwAuY9j/////Pv6/v7+/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/v7+/v7+ + /Pv6////t4xghjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAjkkAkEwChj4Az7OX/////Pv7/v7+/f38/f398erilFQVi0YBj0oBjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0UBlVUW8+zl/v39/f39 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/f38/v7+8+zllFQVi0UBj0oAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0sBi0UAlVUX8uzk/v39/fz8/Pz7//// + t4xhhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oA + jkgAjkkAj0wChjwA0LOX/////fz7/////v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v///fv7////zrGU + hjwAj0wCjkkAjUkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChTwAuI5k////+/r5////4tHAiUIDjkoCj0oAjUkAjkoAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0wCiUAApW84/Pv6/f38/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v///v7+/f38+/r4pG02iEAAj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0kAjkoCikMD4tC//v79+vj1pG02hz8AkEsBjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkkCi0QF49TD + /////fz8//7//v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/////fz8////49TEi0UFjkkCj0oA + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBiEAA + oWkx////zrGThTsAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkgAkEwChj0AupBl/////fz8/v///v7+/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/v/+/fz8////uZBkhj0AkE0CjkgAjUkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAjkkAjkkAj0sAiEAAwZ12m18iikIAj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjEYBlVYX8uzl/v79/v39/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/f39/v398+zmllYXjEYBj0oBjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAjkkAjkkAikMAjEYAjkkA + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjkgAjkkAkEwC + hj0Az7SX/////fz7//7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//7+ + /fz7////0bWZhz0Aj0wCjkkAjUgAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0oBjkoAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAjkkAjkkAj0wCiEAApW86/Pv5/fz8/v7+//7+/v7+//7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+//7+/v7+/fz8/fz7p3I+iD8Aj0wCjkkAjkkAjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAjkkAj0kCikQF49PD/////Pz8//7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+//7+/fz8////5dbH + jEYHjkoCj0oAjkkAj0kAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oA + jkkAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChj0AuI1i/////fv8/v/+/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/v7+/v///fz7////vJRqhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oBjEUBlFQW8uri/v7+/f39/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/f39/f399O7ol1kci0QBj0sB + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjUgAjkkAj0wChj0AzbCT//// + /Pz8/v7//v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/Pz7////07mfhj0Aj0wCjkkAjUgAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjkkAjkkAkEwCiEAAomw0/Pr4/f39/v7+/v7+/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////v7+/v7+/fz8/fz8qHNAhz8AkEwCjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkkCiUIC4dC+/////fz7/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz8////5tjJi0YFjUgCj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAkEwChTwA + t4tf/////fz7/v7+/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/v7+/fz7////vZZuhTsAkE0CjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0oBi0YBlFMT8eri/v7+/f38/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v39/f399vHs + mVseikQAkEsBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkgAjkkAkEwChj0Aza+Q/////Pv6/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/Pz7////1Luhhz4AkEwCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + j0sAiEAAo2w0/Pr4/fz8/f39/v7+/v7+/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/v7+/v79/fz7/f38qndDhz8AkEsB + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAjkkAjkkAjkkBi0QD4c+9/////Pz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/fz7/v7+6NvNjUkIjUgBj0kAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwBhTsAt4xf/////Pv6 + /v7+/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/Pv6////wZt2hTsAkEwBjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0oAi0UAlFIT8eri/v39/fz8/v7+/f39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/v7+ + /f38/fz89vHtmVsfikMAj0sAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEsChDoAy6uN/////Pv6/v7+/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/f3+/v7+/Pv7////1r6lhj0Aj0oBjkkAjUkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sAiEAAoWkx + +/n3/fz8/f39/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v39/fz7/v7+ + rXtJhj0AkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oBjkkAj0oBjkoCiEEA4M68/////fz7/v7+/v39/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////f39/v7+/fz7/v7+69/SjkgJi0UAjkgAjUcAjUgAjUgAjUgAjUgAjUgAjUgAjUgA + jUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUcAjUcAjkoAhDkAtYlb/////Pz6/f7+/v7+/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/v39/v7+/Pz7////xKF9jEcSlVQW + k1IUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUk1IUlFMV + kU8TmVoj8ejg/v39/fz7/v7//f39/v////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v///f39/f38/Pv67+bd8Ofe8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off + 8Off8Off8Off8Off8Off8Off8Off8Off7uXd9O7o/////f39/v7+/v7+/v7+//7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v////7+/v7+/v7+/v7+//////////////////////// + /////////////////////////////////////////////////////////////////////////v39/v7+ + ///+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////7+/v////// + /////v7+/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v79/////////v7+/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/////v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAEAAAACAAABABgAAAAAAAAgAwAAAAAAAAAAAAAA + AAAAAAAA//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v79/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////9/Lt9/Pu + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Pt/v7+/v79/v7+/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v79/v799/Ls9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Pt9/Lt/v39pm80omkso2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2svnmMrzrGR/////fz7//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/fz8//// + 1bygnGAqo2svo2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2svnWEruY9i/fz8wJpwkUwEiUIAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0UAiUAAlVQT7uTZ + /v39/fz8/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f38/v7+9O3nmFkViD8Ai0UAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAikMAi0MA3sq1/v7+/fz8wJhviD8AkU0Fj0sCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkU0EiD8AuItb/////f38/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7////vZNniD8AkU0EkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCj0sCkU4EiUAAuY9h + /////Pn4/v7+9e/pnF8ei0UAj0oBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0MA3cix/////fz7//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////Pz7////49G/j0oHjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEYBl1cU8urj/v39/fv6+vf0//// + 1LqfikIAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoAj0sBikIAoWcq9vLt/fz7/v39/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /f38+/n3p3A0iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEAzrCQ/////fz7/v7+/fz7/fz7+/n3q3hBiUAAkEsC + j0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiEAAyKaB/////fz7/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/Pz7////z7GRiUEAkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oBikIApnA0/fz7/v39/v7+/////////f38////6NrMkEwHjUgBjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoA + jUgBlFIO7uTa/////f38//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz8/v398OfellYTjEYBj0oBj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgB + jUYA4tG+/////fz7/////v7+/v7+/////fz8////wJpvhz4Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsCiD8As4RR/fz7 + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v38////uY9ghz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8Au5Fk/////f38/v7+ + /v7+/////////v7+/fz8/v389e/pnmMmi0MBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCi0QB3Mav/////fz8/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/Pz8////4tG+jUgCjkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0UAmFkW9e/o/v7+/f38//////////////////// + /////fv6////17+miUEAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikMAoWgp+vfz/v7+/v79//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f39/fz8+/j2pW4z + iUAAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAj0oBiUEA0ria/////fz8/v7+/v7+/////////////////v7+/v39/v39/v/+ + sH9LiEAAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoAj0sCiD4Ax6Z//////fv6/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////7+/v7//fz8////yqqHiD8Aj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0sCiUIAqXU7/fz7/v39/v39/////////////////////////////v7+/fz7/v7+6t3PkU4NjkgCjkoB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0oAjUcBkU0N7ODU/////f39/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v///f38/v7+7+bdlVMOjEYBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkBjUgB5dXG//// + /f38/////v7+//////////////////////////////7//fz7////w551iD4AkEwCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sB + hz4Ar35J/v39/fz8/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v39/fz7////tolYhz4Aj0sDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBiEAAvZZq/////f37/v7+/v7+//////// + /////////////////////v7+/////f39/v7+9vHsnmMki0QAj0sAj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oCi0QB2cKo//// + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz8//// + 3su3jUcDjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBmlsZ9O7n/v79/f38//////////////////////////////// + /////////v7+/v7+/fz6////2cGpikIBj0oDjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBi0MAn2Qn+PTw/v79/f38/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f39/fz8+vf0omosiUEAj0oBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sCiD8A0reZ/////fz7/////v7+//////////////////////////////////////////// + /v7+/fz7/Pv6sH9KiD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0Aw594/////fz7//7///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/Pz7////yqmGiUAAj0sCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUEAq3hA + /Pz6/f38/v39//7+/////////////////////////////////////////////v7+/////f37////7OLW + k1EOjUcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoBjUcCklAO6t7Q/v7+/fz7/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////f39//7/7ePYk1ENjUcAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUcBj0sG6NrL/////fz8/v///v7+ + /////////////////////////////////////////////////v7+/v7+/fz7////xqR+hz4Aj0sCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEsBiUEAsIFN/v79/v39/v3+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v79 + /Pz7/v7+s4RQiEAAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBhz4AwZty/////fz8/v7///7+//////////////////// + /////////////////////////////////////v7//v39/v399/PuoWgrikIAj0oBj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iEAA176j/////fz7//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/fz8////2sSti0QBjkoC + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0kAj0sBi0QAm14d9vHr/v79/f39//////////////////////////////////////////// + ///////////////////////+/////fz8////3MawikMBj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCi0QBnGAi9O7n/v38 + /fz8/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////f39/v39+fbzoGcoikIAj0sBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iUEA1buf/////fz8/v7+/v7+//////////////////////////////////////////////////////// + /////////v7+/f79/fz8/f39soNPhz4Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz0AwZxz/////f38/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/Pz7////x6V/iD8AkEwBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wBiEAArHpD/v7+/v38/v7+ + /////////////////////////////////////////////////////////////////////////////v7+ + /f38/v7+69/SlFIPjUcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkgBkEwG6dvN/////fz8//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////Pz7/v397ODUlFMRjUcCj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBkE0I6NvM//7+/fz8/////v7+//////////// + /////////////////////////////////////////////////////////////////////fz7////yKaB + hz0AkEwDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sCiUEArXtG/Pv5/fz7/v39/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v///f38////sH9K + hz8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0wChz8AwJlv/////f38/v7+/v7+//////////////////////////////// + /////////////////////////////////////////////v7+/v7+/f39/f389/Puomgti0MAj0sCj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0sDiD8A1r2i/////fz7/////v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/f38////18ClikMAj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0oBi0QAnmIj9vHs/v39/v39//////////////////////////////////////////////////////// + /////////////////////////////////////v7+/fz8////3sq0jEYAjkoCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAi0UA + nWAf9vHs/v7+/v79//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/f38/f389vHsn2Qli0QBj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCikIA2MGo//// + /fz7/////v7+//////////////////////////////////////////////////////////////////// + /////////////////////////////fz8////tYhWhz4Aj0wBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiD8AwJpw/v7+/fz7 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////+/////fz7////xKF6hz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wBiEAAsH9L/////f38/v79/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////fz7/v797uXblVQVjEYBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkCjkkG59jJ/////f38/////v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v///f38//// + 6t3PkU4IjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgBkU4J6t7Q/v7+/fz8//////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz7////yqqGiEAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUEAqnY9/Pr4/v39/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////+/v39/fz7/fz7r39KiUEAj0sCj0kA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEwChz0Aw553/////fz8/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f39/v79+/n3omor + ikEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkoAj0sCiEAA0raY/////fz6/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7//fz7////1ryiiUIAj0oCjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikMBnmMm + +PTw/v39/f39//////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz7////38u2i0QEjkoDjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0kAj0sBjEUAmVwb9e/p/v7+/f38//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////f38/v7+9vHsnF8eikMAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA2MCl/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/fz8/v7+t4pZiD8AkEwCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz4A + vpVq/////fz7/v/+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /Pz7////wJpwhz0Aj0wDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAAr39J/v7+/v39/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////f39////8urillcTjEYAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUgCjkgE5dXE/////fz7 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////fz8////59nLkEsHjUgB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoBjEcBk1AN7OLW/v///fz7//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/Pz7////za6OiEAAj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBiUEAqnY8/f38/v39/v3+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////f39/fz8/fz7rHlCiUEAkEsBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iD8AyKaB/////fz7/v///v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v79 + /fz7+fXypW0xiUEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEA0bWX/////fz8/////v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/fz7////z7OTikIAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBikMAn2Yl+vf0/v7+/f39 + //7///////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/////fz7////4tG+jEYC + jkoBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oBjEUCl1gY8+vk/v79/fz7//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////f38////7eLWlFEOjEcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkoBi0QA28av/////fz7/v7//v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v79/fz7/v7+uY5fiEAAj0wCjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEsCiD8Auo9h/////fz8/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v79/fz8+/r4rHlE + iUEAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBiD8As4RR/f39/v39/v7+///+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7//f38/v7+7+fdl1cUjEYBjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBjkgB + 4tC+/////f38/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v///v7+/Pz7////wp51hz4Aj0sCj0kAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjUcBk1EN7+Xb/////f39/////v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////fz8////z7GRhz4Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAp3E4/Pv5/v38/v39 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+//7+/fz7////3ciwjEUAjkkBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0Ax6WA//// + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/f39/fz7+vj1qHI4iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAkEsCiD8Az7GR/////f38/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/////fv7////7OHUlVQWjEYBj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikMAomks+PPv/v39/v79//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/fz7 + ////5NPBj0oGjkgBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBjEYAl1gU8uri/v7+/fz8//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7//f38////8uvj + n2QoiUEAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCi0QB38u2/////fz7/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f38////u5Jlhz0A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBiD8AupBi/////fz8/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////fz8/v7/+PTvq3dAiD8AkEwBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0wCiEAAt4pa/v7+/f38/v79/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/fz8/v398erimVwcjEUBj0sBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkBjUgE4M66/////fz7/////v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/////fz8////+vj1rHpFiD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjUcBlVQR + 7+bd/v7+/f39//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/fz7////0LSUiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikIAo2sv + +/n4/v39/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v39////+/n2tYhXhz4Aj0wDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0AyquI/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/fz8/fz7qHM5iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4Ay6uJ/////fz7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+///+/v7+/fz7////+vf0 + rXtIikIAj0sDj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sBikIAo2wx+PXx/f38/f38/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////Pz7////4tLAjkgHjUgCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBllYS8Oje/v7+/f38//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////fv7////9/Puq3hChz4Aj0sBj0oAj0kA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkoBi0UA4M24/////fz7//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/Pz6 + ////vpZqiD4Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AuItc/////fz8/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////7+/////v7+/fz7////7+XaomoxiEAAkEwDj0oAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwC + hz4AtolZ/////fz8/v3+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////f39/v7+9vHsnGAdi0MA + j0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkCjEYB38y3/////fz8/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /v///v39/Pz7////38y3mFkciUAAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEYDllYX7+bc/v7+/f38 + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/fz7////1LqeiUEBj0sDjkoAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoA + j0sBikIApGww+vj1/v39/f39/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////////Pv6////////y6yJ + j0sEikMAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiD8Azq+O/////fz7//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v39/fz7/Pr5qnY9iD8Aj0wCj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AzK2M + /////Pz7/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/////v7+/fz7////8+zks4NTiUEAjUkAkEsCjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAkEsBiUEApnA0/fv6/v39/f79/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v///f38////5tjJkUwIjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYBlFIP7uTa/v7+/f38//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////v7+/fz7////////3Mixm14hiEAAj0sCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjkkCjkkG4c+7/////fz7/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //7+/v7+/fz7////v5lviD8Aj0sDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUAAtIZV/////v39/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+///+/v39 + /fz8////+PTvvpZujUgDikQAkEwDj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4AuI1d//// + /fz7/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////7+/f38/f38 + 9O7nm10ci0QAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA3ciy/////fz8/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////v7+/fz7////////28aunmImhz4A + jkkAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYAl1gW8+vk///+/f38/////v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7//Pz7////1LqdikIAj0sB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oBikMAoWgp+fby/f39/f39//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/////v7+/fz7/v//////8OjdtolbjEUAikMAkEwCj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAzrGR/////fz7/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v39/fz7/f38rn1HiD8Aj0sCj0kAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0sBiD8AyKiE/////fz8/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////f38////////+/j2y62LlVQSiD8AjkoBj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0oBiUEApW4z+vj1/v39/v39//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/Pz7/v7+6d3Qkk8LjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUcBkk8J7eTZ + /v7+/f38/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////v7+/f38/f39/////Pr4 + 2sSsomktiD8AjEcAkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjkkAjkgD + 49PB/////fz8/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f38////w552hz4Aj0wBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD4As4VS/////f39/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/////f38/v7+////////38y3qXU+iUEAikMAkEsCj0sB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4AvJNm/////fz7/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////f39/f389vHrnGAgikMAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBjEYA3Mex/////fz7/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////////v39/fz8/v7/////////4tC9rntHjUgCiUIAkEsCj0sBj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oBjEUBmVsZ9O7m/v7+/f38//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/Pz7//// + 2MCnikMAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0oAi0MAnmMj+ffz/v39/f38//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/v39/fv6//// + /////fz82MGnrXtIjUYAiUEAjkkAkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sCikEA0bWX/////fz7/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f39////r35IiUAAj0wC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiEAAxKF6/////fz8/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////v7+/f38/fz6/v7/////////8uvj0bWXomktjEUAiD4A + j0oBkEsBj0oAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsC + iUEAqHQ7+/j2/fz8/v39/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////fz7/v7+6NvNkEwIjUgBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jUgBkk8K7ODV/////fz7/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////v7+/v7+/v7+/v39/v39/////////f3859jKvZVqnF8hiD8Ai0QAj0oAkEwEj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgBjkkE5dXE/////fz7 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/Pz7////w551iD4Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAsIBL//// + /f38/v7+///+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////v7+/fz8/fz6//////// + ////////69/T0baYqndBjkgAiUAAi0QAkEwDj0sBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AvZRo/////fz7/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f39+vbzn2UlikMAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCi0QA2sOq/////fz7/v7//v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/v79/v38/v38/f38/v///////////v398Ojf0bWXsYBNlVUShz0A + ikIAjkkAkEwCj0sCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oBi0UBmlsc8eri/v39/fz8/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////Pz7////28avi0MBj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikMAnmIj+PXx/v39/f38///+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v79/f38 + /fz7/fz6/v7+/////////////////Pr55dXDyaqHr31Lkk8HikMAiUEAjUYAkEwDj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAj0oBiUEA1Lqd/////fv6//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/f79/fz7/f38 + sYJOiEAAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AxKB5/////fz8/v///v7+//////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////v7+/v39 + /v39/v39/v39/v39/v39/v38/v38/fz8/fz8/f38/f38/v38/v38/v39////////////////////9vDq + 6d3P0baYtIZVn2Unkk8HhjsAiUAAjkgAj0sBkEsCj0sBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUAArHpD/f38 + /v39/v39/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////fz8////7OHWkk8KjUcAjkoA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjUgBkU4J6NrM/////fz8//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////9O3l49PB1Lqew552soNRnmIhikIAikIAiUEAikIA + jUgAkE0EkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoBjUgCj0wK59nK/////fz7/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////xqR+hz4AkEwCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iUEArnxG/v7+/f38/f39/v7+//////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz6+PXv+fXy+fXy+fXy+fbz9vDr8Oje8Oje6dzO + 5NXE2MCmzbCPv5dusIBMn2UnmlwZk1EJjEUAhz0AiUEAjUcAkEwEkE0EkU0EkU0EkEwDj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sBkE0Ehz4Av5ht/v7+/fz7/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////+/f39/f389/PuoGYnikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAA1r2i//// + /Pz7/////v7+//////////////////////////////////////////////////////////////////// + /////////////////fz7////4M25l1YeoGYnn2MknmMkn2QmmVsYkUwEkU0FhTkAgzcAhDgAhDkAhDkA + hToAhToAhz0AiEAAikIAi0UAi0QAikIAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAikIAhz0Am1wc9O7o/v7+/f39/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+//7//f38////2sSsi0QAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0UBnWEg9fDr/v39/f39//////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////6NrMtIZYupFjuY9huo9huY9gupBjvJNnvJNnvpdsv5dtv5dtv5dsvpdsvpdsvpdsvpZrvpZr + vpVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvpdsuI1g + 4M24/////fz8/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////+ + /v7+/fz7////tIZUiD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8AwZxy/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz7/v397ePY + llURjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkgBkEsF6NrN/v7+/fz8/////v7+//////////////////////////// + /////////////////////////////////////////////////v7+/////v79/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v39/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/Pv7////yaiEiD8Aj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEsCiUEArXpD/v7//f39/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////f39/v38+vf0oWgrikIAj0sBj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oB + ikMA1bqf/////fz7/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz7////3MiyjEYBjkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0QAmlwa9O7n/v39 + /f38/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/f39////tIdViD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD4Avpds/////f38/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /fz8/v7+7+XblFIOjEYBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgBjkoD5dbF/v7//fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v38/v39 + /v38/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/////////v////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz8////y6uI + iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBiUEAq3c//fz7/v38/f79//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f39/v39/Pv6pGwuikEAj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sCikIA1Lqd/////fz7/v///v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7++fbzqXY9nmImoGYnoGUnoGUnoGUnoGUnoGUnoGUnoGUn + oGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUn + oGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnn2UnoGUnnmMm4c+8//// + /fz8//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz7////4tC9jUgEjkkCjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0QA + mVsZ8+zl/v38/fz8//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/fz7////xaJ8hToAi0QAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAi0QAhDoAqHI6+/n3/v39/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz8////uIxciUAAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8AvpZs/////fz7 + /v7+//7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz7/v7+ + 7ODUk1EPjUcCkEwDj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sCkEsCjkkDkk4L6t7Q/////fz7//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////f39/v7+8enhllYQjUYAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkkE49PB/////fz8/v///v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/f38////soJOiEAAj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0wBiD8Awp10/////fz8/v7+/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /Pz7////za+OikEAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sDiEAAp3I3/Pr4/f38/v39/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/Pz7////2cOri0QAj0oBjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0UAnWAf + 9vHs/v79/fz8//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/f39/f38+/n3pm8z + iUEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0oCikIA0LOU/////fz8/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/f38/f38+PPvoGcqi0QBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCiUEA1r2i/////fz7/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////fz7////4tC9jkkDjkkBjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAi0YAl1gT8+3l/v7+/f39//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////x6V/iD8AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiEAArXtF/f38/f38/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/fz8////vJJmiD4AkEwCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiEAA + upFj/////fz8/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f38/v7+6t7RklALjUcB + jkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0kAjkgBkU0I6NrM/////f38/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7//fz8/v798eril1kVi0QAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgBj0oG5NPC/////fz7 + /////v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v79/f38/f38soNQiUEAj0sCj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsC + hz4AwZty/////fz8/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////+/v///f37////0bWXiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApm8z/fz6/f38/f39//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////fz7////3MexikMAj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0MBnGEj9vLt/v39/f38 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////f39 + /f38/Pr4qHM6iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oCiUEAz7KS/////fz7/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v39/f38+PXxomotikIAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUIA1r2i/////fz7/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz7////49PBjUgC + jkkBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjEYBllYU8ejf/v79/f38/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz7////y6yJ + hz8Aj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAkEsBiD8ArXpD/fz7/v38/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/fz8////vJNmhz8Aj0sBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEsChz4At4ta/////fz8/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////f39////7ePZlFIPjEYAj0oAj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjUgCkEwL6dzO/////fz7//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////fz8/v398+vkmFoXi0UAj0oBj0kAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkkBjUcD + 38y3/////fz7/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/fz7/f38tYdVhz8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AwZtx//// + /fz8/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/fz8////0reaikIAjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApGww+/j2/v38/f39 + /////v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/fz6////3su1jEUEjkoCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0QAnGAf9fDq/v79/f39//7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v79/v39/f39q3c+iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AzKyK/////Pz7/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v/+/f39/v79 + +fb0o2otikMAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCikIA07eb/////fz7/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/////fz8 + /v7/59fIjkoEjUkBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0YBl1cV7+bc/f39/fz7/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+//7//fv7////yqmGiD8AkEwCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sBiEAAqXU7/Pv6/f38/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz8////v5dtiD4A + kEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBiD8Atotb/////fz7/v7+///+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////7+/fz8/v7+7uTalVQUjUcCj0oBj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkCj0oK + 5tbG/////fz8/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////f39/v399O7om10ci0UBj0oBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAj0oBjUcB4M25/////f38/v7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////f38////tolXiD8AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD4Avpdr/////fz7/v39/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////fz8////07ibiUAAkEsBjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCikIAomos + +PTw/fz8/f39/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////3ciyikMAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAi0UAmlsY9O7n/v7+/v39/v////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f39/f38/v79q3c/iUAAj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz4AyaiF/////fz7//// + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f39/f38+fXxomoviUEA + kEwCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0sCiUAA07mc/////fz7//////7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////fz8////6NvMkEwHjUgBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUcAk1EL7uTa/////f39//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////f38////y6uJhz8Aj0sBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sB + iUAAq3dA/Pr4/fz7/f39/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v///fz7 + ////wpxziD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8AtIZU/v39/fz7/v39/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////f38/v7+7uPYlFMPjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgBj0oC5dbG/////fz7 + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////+/fz8/v399/LunGAfi0MA + j0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0kBjEUC3cm0/////fz7/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v79/f38/v7+tYhYiD8AkEsCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz0AvpZr/////fz8/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v///fz7////17+likMAj0oBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + j0oBikMAomgq+vf0/f39/v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////Pz7////4M24 + i0UAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0sBi0QBm10f8+3m/f38/fz7/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////7+/v79/f39////rnxGiUAAkEsCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiEAAyKWB + /////Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v79/f38+PTxomkti0MAj0sBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEwBiUEA0rea/////fz7/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7//fz7////6t3QkE0IjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjUcBkk8M69/T/v7+/fz7//// + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/fz7////y6yKhz4Aj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUAAqnU9/Pz7 + /v38/v39/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/v7+/fz7////wZtyhz8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiEAAsoJP/////f38/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////f38/v7+8enhllYSjUcBj0oBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgCj0sJ5dbG//7+/Pz7/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////f38/v79 + +PTwnGAfi0QAj0sAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkoCi0QA28St/////Pz7/v7+/v7+//////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/f38 + ////uI1diD8AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBhz8AvpZq/////fz7/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/fz7////2sSsi0UAj0oB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0kAj0sCikMAnmQl9/Lt/f38/f39/////v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/fz7////4tC+jUcCjkkBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0oBi0QAmVsZ9O3m/v79/f38/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/f38////sYFMiD8Aj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + kEwChz4AxaJ8/////fz7/v7+//////////////////////////////////////////////////////// + ///////////////////////////////////+/f39/f39+/n3pGwwikEAj0sBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sCiUAA + 07mb/////Pz7/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////fz7/v7+7OHUkU0HjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjUcBk1AO6+DU + /v7+/Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////v7+/v///f38////za+OiD8Aj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAq3c+/fz7/fz8/f79//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/fz8////xqR/iD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz4AsIBM/v79/fz7/v7+//// + //////////////////////////////////////////////////////////////////////////////7/ + /fz8/v7+8erillYSjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBjkkF5tfH/////fz8/////v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////f39/f39+PXwn2Qli0MAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA2cKp/////fz8/v7///////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz8////uI1fiD8A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0wDhz4AvpVq/////Pz7/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz8//// + 2sWtikEAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oBi0MAnWAg9vDq/f38/f38/v7+//////////////////////////// + /////////////////////////////////////////////fz7////4tC9jUcAjkkBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jEQAm10b9O/p/v7+/f38//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v39/v7+soJPiUAAkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sDhz8Aw552/////fz7/v7+//7+//////////////////////////////////////// + /////////////////////v7+/f39/f38/Pr4pW8yikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUAA07ib/////fz7 + /v7//v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////f38/v7+7OHWklAMjUcBj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jUgAklAK6dzO/////f38/v////////////////////////////////////////////////////////// + /v7+/////fz7////za+OiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCiEAAqXY9+/n3/fz7/v39///+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////fz8////yamFiD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0wCiEAArXpD/Pv6 + /fz6/v39/v7+/////////////////////////////////////////////////////////f39/v7+8eng + lVMPjEYAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkBkEwF5tjJ/////f38/v///v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/f39/v39+fXyomkrikMAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sDikMC17+l/////fz7/////v7+ + /////////////////////////////////////////////v7+/v7+/f38////uI1diEAAkEsDjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEwBiD8Au5Jl/////fz8/v7+//7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////fz8////3ciyi0QAjkoCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBi0QAnmIi9vLt/v7+/v7+//////////////////// + /////////////////////////v7+/////fz8////4tC9jkgEjkkBj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBmFoX8uvj + /v39/fz8/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/fz8//// + tYdViD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0wDhz4AwZtx/////fz7/v7+/v7+//////////////////////////// + /////////////v7+/v39/Pr4pG0vikMAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiEAAz7KT/////fz7/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////fz7/v7+7uTalVQQjEYBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oBjUgCkU4N59jI/////fz8/////v7+/////////////////////////////v7+/v7+/fz8 + ////za6NiUAAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUEApm8z/Pv5/v39/f39//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////yaiDhz4Aj0sCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sB + iUAAqnY9/fz8/f38/v7+/////////////////////////////v7+/////f38/v398enhllcVi0UBj0oB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkgBjkkD5NTD/////fz8/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////f39/v39+/j2oWgqikIAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUIA07mb//// + /fz7/v7+/////////////////////////////v7+/f38////t4tahz8AkEsBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiD8A + upFj/////fz8/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/fz7////4M67jEYDjkkCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBi0QBm18g8+3l/v39/f38/v7+/v7+ + /////////////v7+/v7+/Pz7////5NTEjkkEjUkCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjEUAllcT8+vk/v39/f38//// + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/fz8////uIxciD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz0Avpdr/////fz7//////////////////////// + /f39/fz8+/n3p3E4iUEAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBiUAA0LSV/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////fz8/v7+8Ojf + llYSjEcBj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkgBkEwI5dfG/////fz7/v7+/////////////v7+/fz7////0LSWiEAA + kEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBikIAp3A1/Pr5/v39/v39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/fz7////za2Mhz8AkEsCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0sBiEEArHlC+/r4/fz8/v39/v7+/v7+/v7+/f38/v398+zkmVoZi0UBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkBjUcA49LA/////f38/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v38/f39+/n3pG0yikEAj0sCjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iD8A0ria/////fz7//////7+/v7+/fz7////u5Jlhz0Aj0wDjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8Au5Jk/////f38 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/////f38////38y3jUcAjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEUBmlsb8eng/v79 + /f38/////f38////5NTDjkkEjkkBjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBl1gV8uvk/v79/f38//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/fz8////t4xchz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wCiD4Au5Jm/////fz7/f39/fz8+/n3 + qXQ6iUIAj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8A0LOU/////fz8/////v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7/v7+8engllYWjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkgD5NTD/////Pr5////0bSXiEAAj0sDjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0kAj0sCikIAp3E3/Pr4/v39/v39/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////fz8////0baX + iUAAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAj0sBiUAApnE2+fbz/f388uvjl1cTi0UAj0oAj0kAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkgE5NTD + /////fz8/v////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v3+/v39/Pv5p3I4iUEAkEsBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkoAj0sCiUAAz7GT////upFjiD8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8Au5Fj/////fz8/v7///7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////fz7////4tG/jUcDjkkCjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAi0MA + nWEh1r2ikE0KjkgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEYBl1gX8urj/v7+/f38///+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v/+/Pz7////u5FkiD8AkEwBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAkU4FjUcAj0oA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sCiEAA0bWW/////fz7/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////f38/v7+8+zlmFkZjEYBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgAj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikIA + qHI4/Pv5/v39/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz6////0LOTiD8AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kCjUcF49G//////f38//// + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v39+/r3qnY+ + iUEAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sChz4Au5Nm/v///fz8/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////f38////5tfIjkkIjkkCj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0oAjEYAl1cU8+zl/v7+/v39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/fz7////v5huhz4Aj0sCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + kEsChz8Az7KS/////fz7/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v79/v7+9O7pmlwZi0UAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsCikEApnA3+vf0/fz7 + /v39/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////fz7////07ibiD8AkEsDj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkoBjEUA38y3/////fz7//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v39 + /fz7+/n3q3hBiUEAkEsCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0wChz4AuY1f/////f38/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////fz8////59jIj0oD + jkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oBjEYCl1YV7+Xb/v39/fz7/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/f37////vpdthz0Aj0wCj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBhz4Ay6uJ + /////fz8//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/fz8/v399O/om18hi0QBj0oBj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApW40+vf0/v39/v39/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////f38////1r2iiUAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkCjEYE4M24/////fz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/v79/v38/v39rnxIiEAAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAkEwChz8At4tZ/v7+/fz7/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/fz7 + /v7+6NrMkU0LjkgCjkoBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYB + llYW7+Xb/v7+/f38/////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////7//fz7////wJpwhz0A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiD8Aza6M/////fz7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////f39/v799vLtnWIki0QAj0sBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBiUEApG0x+vf0/f38/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7////1r6ii0MAj0oCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkoAj0kCjEYF38y3/////fz7/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/f38/fz8rXtEiUAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0wChz8AuIxc/v7+/fz7/v39/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////fz8////697Skk8MjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkoAjUYAllYR8Ofe/v/+ + /v39/v////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/fv6 + ////xKF6iD4AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wCiD8Ay6uJ/////v38//////7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v79/v7++fXyn2Qli0MA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0kAj0sCiUEApW8z+fby/fz7/f39/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////fz8////2cKqikQAjkoCj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkoAjkkBjEYA4M24/////fz8/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7/Pv6sH9LiD8AkEsCj0kAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz4At4pa + /////f38//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38////7OLWkk4KjUgBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEUBl1cV7uXb/v39/Pz8/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////fz8////xaJ8iD8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAAzK2L/////Pz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v39/fz7 + 9/LtomgsikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiUIApGww/Pn3/f38/f39//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////fz7////3Mewi0QAj0oB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkB + jUcE3sq2/////Pz7/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/f38////tolXiD8Aj0wBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8AuIxb/////fz8/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/fz7/v7+7eLWlVMSjUcCj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUYBllYT8Ojf/v7+/f39/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////fz8////yKaBhz4AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBhz8AyaiF/////fz7/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v39/v39+PTxomktikIAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oBikMAomgq+fXy/v39/f39//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/fz7//// + 3Mixi0MBjkoCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0MA3ciy//// + /fz8/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/fz7/v79tIdVhz4AkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBhz8AtIdV/////f37/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////f38////7+belVUUjEYBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkoAjUYBlFMO7uPZ/v7+/fz8//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/fz7////y6yJiD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEwBhz4AyKaD/////fz7/v///v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v38+ff0pW4yikEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikIAoWgq + +vf1/f38/f39//7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////fz7////4M24jEUFj0kCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkCjEYB3ciy/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v39/fz7/v39 + tolZhz4AkU4FkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwD + kEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwD + kEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwCkU0EiEAAtIVS/////f39/v7+///+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v///v39////8OfdlVQQhDoAiD8A + iD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4A + iD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4A + iD4AiD4AiD4AiD8AhToAkU4K7+Xc/v7+/f38/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////7+/////v7+////38y4y6yNzrGQzrCQzrCQzrCQzrCQ + zrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQ + zrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrGS + yqqM38u2/////v79/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/v7+/v79//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v79/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8 + /fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8 + /fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/f38/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxHistory.Designer.cs b/LFP_Manager/Forms/fmxHistory.Designer.cs new file mode 100644 index 0000000..59f8009 --- /dev/null +++ b/LFP_Manager/Forms/fmxHistory.Designer.cs @@ -0,0 +1,943 @@ +namespace LFP_Manager.Forms +{ + partial class fmxHistory + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fmxHistory)); + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.tabHistory = new DevExpress.XtraTab.XtraTabControl(); + this.pgGuiHistory = new DevExpress.XtraTab.XtraTabPage(); + this.layoutControl2 = new DevExpress.XtraLayout.LayoutControl(); + this.ucHistroy1 = new LFP_Manager.Controls.ucHistroy(); + this.Root = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.pgBmsHistory = new DevExpress.XtraTab.XtraTabPage(); + this.layoutControl3 = new DevExpress.XtraLayout.LayoutControl(); + this.btnExportExcel = new DevExpress.XtraEditors.SimpleButton(); + this.btnBmsHistoryReq = new DevExpress.XtraEditors.SimpleButton(); + this.gcBmsHistory = new DevExpress.XtraGrid.GridControl(); + this.gvBmsHistory = new DevExpress.XtraGrid.Views.Grid.GridView(); + this.gcNo = new DevExpress.XtraGrid.Columns.GridColumn(); + this.gcHistDateTime = new DevExpress.XtraGrid.Columns.GridColumn(); + this.gcStatus = new DevExpress.XtraGrid.Columns.GridColumn(); + this.gcWarning = new DevExpress.XtraGrid.Columns.GridColumn(); + this.gcProtect = new DevExpress.XtraGrid.Columns.GridColumn(); + this.gcError = new DevExpress.XtraGrid.Columns.GridColumn(); + this.gcVoltage = new DevExpress.XtraGrid.Columns.GridColumn(); + this.gcCurrent = new DevExpress.XtraGrid.Columns.GridColumn(); + this.gcSOC = new DevExpress.XtraGrid.Columns.GridColumn(); + this.gcSOH = new DevExpress.XtraGrid.Columns.GridColumn(); + this.gcTemp1 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.gcTemp2 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.gcTemp3 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.gcTemp4 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.gcTemp5 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.gcTemp6 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.cell_v_1 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.cell_v_2 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.cell_v_3 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.cell_v_4 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.cell_v_5 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.cell_v_6 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.cell_v_7 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.cell_v_8 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.cell_v_9 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.cell_v_10 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.cell_v_11 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.cell_v_12 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.cell_v_13 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.cell_v_14 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.cell_v_15 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.cell_v_16 = new DevExpress.XtraGrid.Columns.GridColumn(); + this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlGroup4 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.btnClose = new DevExpress.XtraEditors.SimpleButton(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + this.TmrCheckReq = new System.Windows.Forms.Timer(this.components); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.tabHistory)).BeginInit(); + this.tabHistory.SuspendLayout(); + this.pgGuiHistory.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).BeginInit(); + this.layoutControl2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + this.pgBmsHistory.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).BeginInit(); + this.layoutControl3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.gcBmsHistory)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gvBmsHistory)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.tabHistory); + this.layoutControl1.Controls.Add(this.btnClose); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1215, 341, 650, 400); + this.layoutControl1.Root = this.layoutControlGroup1; + this.layoutControl1.Size = new System.Drawing.Size(911, 602); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // tabHistory + // + this.tabHistory.Location = new System.Drawing.Point(3, 3); + this.tabHistory.Name = "tabHistory"; + this.tabHistory.SelectedTabPage = this.pgGuiHistory; + this.tabHistory.Size = new System.Drawing.Size(905, 552); + this.tabHistory.TabIndex = 6; + this.tabHistory.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] { + this.pgGuiHistory, + this.pgBmsHistory}); + // + // pgGuiHistory + // + this.pgGuiHistory.Controls.Add(this.layoutControl2); + this.pgGuiHistory.Name = "pgGuiHistory"; + this.pgGuiHistory.Size = new System.Drawing.Size(903, 526); + this.pgGuiHistory.Text = "GUI History"; + // + // layoutControl2 + // + this.layoutControl2.Controls.Add(this.ucHistroy1); + this.layoutControl2.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl2.Location = new System.Drawing.Point(0, 0); + this.layoutControl2.Name = "layoutControl2"; + this.layoutControl2.Root = this.Root; + this.layoutControl2.Size = new System.Drawing.Size(903, 526); + this.layoutControl2.TabIndex = 0; + this.layoutControl2.Text = "layoutControl2"; + // + // ucHistroy1 + // + this.ucHistroy1.Location = new System.Drawing.Point(3, 3); + this.ucHistroy1.Name = "ucHistroy1"; + this.ucHistroy1.Size = new System.Drawing.Size(897, 520); + this.ucHistroy1.TabIndex = 4; + // + // Root + // + this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.Root.GroupBordersVisible = false; + this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem1}); + this.Root.Name = "Root"; + this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.Root.Size = new System.Drawing.Size(903, 526); + this.Root.TextVisible = false; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.ucHistroy1; + this.layoutControlItem1.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(901, 524); + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // pgBmsHistory + // + this.pgBmsHistory.Controls.Add(this.layoutControl3); + this.pgBmsHistory.Name = "pgBmsHistory"; + this.pgBmsHistory.Size = new System.Drawing.Size(903, 526); + this.pgBmsHistory.Text = "BMS History"; + // + // layoutControl3 + // + this.layoutControl3.Controls.Add(this.btnExportExcel); + this.layoutControl3.Controls.Add(this.btnBmsHistoryReq); + this.layoutControl3.Controls.Add(this.gcBmsHistory); + this.layoutControl3.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl3.Location = new System.Drawing.Point(0, 0); + this.layoutControl3.Name = "layoutControl3"; + this.layoutControl3.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1211, 293, 650, 400); + this.layoutControl3.Root = this.layoutControlGroup2; + this.layoutControl3.Size = new System.Drawing.Size(903, 526); + this.layoutControl3.TabIndex = 0; + this.layoutControl3.Text = "layoutControl3"; + // + // btnExportExcel + // + this.btnExportExcel.Location = new System.Drawing.Point(782, 485); + this.btnExportExcel.Name = "btnExportExcel"; + this.btnExportExcel.Size = new System.Drawing.Size(113, 33); + this.btnExportExcel.StyleController = this.layoutControl3; + this.btnExportExcel.TabIndex = 6; + this.btnExportExcel.Text = "Export Excel"; + this.btnExportExcel.Click += new System.EventHandler(this.btnExportExcel_Click); + // + // btnBmsHistoryReq + // + this.btnBmsHistoryReq.Location = new System.Drawing.Point(781, 29); + this.btnBmsHistoryReq.Name = "btnBmsHistoryReq"; + this.btnBmsHistoryReq.Size = new System.Drawing.Size(114, 31); + this.btnBmsHistoryReq.StyleController = this.layoutControl3; + this.btnBmsHistoryReq.TabIndex = 5; + this.btnBmsHistoryReq.Text = "Request"; + this.btnBmsHistoryReq.Click += new System.EventHandler(this.btnBmsHistoryReq_Click); + // + // gcBmsHistory + // + this.gcBmsHistory.Location = new System.Drawing.Point(8, 93); + this.gcBmsHistory.MainView = this.gvBmsHistory; + this.gcBmsHistory.Name = "gcBmsHistory"; + this.gcBmsHistory.Size = new System.Drawing.Size(887, 388); + this.gcBmsHistory.TabIndex = 4; + this.gcBmsHistory.ViewCollection.AddRange(new DevExpress.XtraGrid.Views.Base.BaseView[] { + this.gvBmsHistory}); + // + // gvBmsHistory + // + this.gvBmsHistory.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] { + this.gcNo, + this.gcHistDateTime, + this.gcStatus, + this.gcWarning, + this.gcProtect, + this.gcError, + this.gcVoltage, + this.gcCurrent, + this.gcSOC, + this.gcSOH, + this.gcTemp1, + this.gcTemp2, + this.gcTemp3, + this.gcTemp4, + this.gcTemp5, + this.gcTemp6, + this.cell_v_1, + this.cell_v_2, + this.cell_v_3, + this.cell_v_4, + this.cell_v_5, + this.cell_v_6, + this.cell_v_7, + this.cell_v_8, + this.cell_v_9, + this.cell_v_10, + this.cell_v_11, + this.cell_v_12, + this.cell_v_13, + this.cell_v_14, + this.cell_v_15, + this.cell_v_16}); + this.gvBmsHistory.GridControl = this.gcBmsHistory; + this.gvBmsHistory.Name = "gvBmsHistory"; + this.gvBmsHistory.OptionsView.ColumnAutoWidth = false; + this.gvBmsHistory.OptionsView.ShowGroupPanel = false; + this.gvBmsHistory.CustomColumnDisplayText += new DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventHandler(this.gvBmsHistory_CustomColumnDisplayText); + // + // gcNo + // + this.gcNo.AppearanceCell.Options.UseTextOptions = true; + this.gcNo.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.gcNo.AppearanceHeader.Options.UseTextOptions = true; + this.gcNo.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.gcNo.Caption = "No"; + this.gcNo.DisplayFormat.FormatString = "0"; + this.gcNo.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; + this.gcNo.FieldName = "no"; + this.gcNo.Name = "gcNo"; + this.gcNo.Visible = true; + this.gcNo.VisibleIndex = 0; + // + // gcHistDateTime + // + this.gcHistDateTime.AppearanceHeader.Options.UseTextOptions = true; + this.gcHistDateTime.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.gcHistDateTime.Caption = "DateTime"; + this.gcHistDateTime.DisplayFormat.FormatString = "yyyy-MM-dd HH:mm:ss"; + this.gcHistDateTime.DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime; + this.gcHistDateTime.FieldName = "datetime"; + this.gcHistDateTime.Name = "gcHistDateTime"; + this.gcHistDateTime.Visible = true; + this.gcHistDateTime.VisibleIndex = 1; + // + // gcStatus + // + this.gcStatus.AppearanceCell.Options.UseTextOptions = true; + this.gcStatus.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.gcStatus.AppearanceHeader.Options.UseTextOptions = true; + this.gcStatus.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.gcStatus.Caption = "Status"; + this.gcStatus.FieldName = "status"; + this.gcStatus.Name = "gcStatus"; + this.gcStatus.Visible = true; + this.gcStatus.VisibleIndex = 2; + // + // gcWarning + // + this.gcWarning.AppearanceCell.Options.UseTextOptions = true; + this.gcWarning.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.gcWarning.AppearanceHeader.Options.UseTextOptions = true; + this.gcWarning.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.gcWarning.Caption = "Warning"; + this.gcWarning.FieldName = "warning"; + this.gcWarning.Name = "gcWarning"; + this.gcWarning.Visible = true; + this.gcWarning.VisibleIndex = 3; + // + // gcProtect + // + this.gcProtect.AppearanceCell.Options.UseTextOptions = true; + this.gcProtect.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.gcProtect.AppearanceHeader.Options.UseTextOptions = true; + this.gcProtect.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.gcProtect.Caption = "Protect"; + this.gcProtect.FieldName = "protect"; + this.gcProtect.Name = "gcProtect"; + this.gcProtect.Visible = true; + this.gcProtect.VisibleIndex = 4; + // + // gcError + // + this.gcError.AppearanceCell.Options.UseTextOptions = true; + this.gcError.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.gcError.AppearanceHeader.Options.UseTextOptions = true; + this.gcError.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.gcError.Caption = "Error"; + this.gcError.FieldName = "error"; + this.gcError.Name = "gcError"; + this.gcError.Visible = true; + this.gcError.VisibleIndex = 5; + // + // gcVoltage + // + this.gcVoltage.AppearanceCell.Options.UseTextOptions = true; + this.gcVoltage.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.gcVoltage.AppearanceHeader.Options.UseTextOptions = true; + this.gcVoltage.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.gcVoltage.Caption = "Voltage"; + this.gcVoltage.DisplayFormat.FormatString = "0.00"; + this.gcVoltage.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; + this.gcVoltage.FieldName = "voltage"; + this.gcVoltage.Name = "gcVoltage"; + this.gcVoltage.Visible = true; + this.gcVoltage.VisibleIndex = 6; + // + // gcCurrent + // + this.gcCurrent.AppearanceCell.Options.UseTextOptions = true; + this.gcCurrent.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.gcCurrent.AppearanceHeader.Options.UseTextOptions = true; + this.gcCurrent.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.gcCurrent.Caption = "Current"; + this.gcCurrent.DisplayFormat.FormatString = "0.00"; + this.gcCurrent.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; + this.gcCurrent.FieldName = "current"; + this.gcCurrent.Name = "gcCurrent"; + this.gcCurrent.Visible = true; + this.gcCurrent.VisibleIndex = 7; + // + // gcSOC + // + this.gcSOC.AppearanceCell.Options.UseTextOptions = true; + this.gcSOC.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.gcSOC.AppearanceHeader.Options.UseTextOptions = true; + this.gcSOC.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.gcSOC.Caption = "SOC"; + this.gcSOC.DisplayFormat.FormatString = "0.0"; + this.gcSOC.FieldName = "SOC"; + this.gcSOC.Name = "gcSOC"; + this.gcSOC.Visible = true; + this.gcSOC.VisibleIndex = 8; + // + // gcSOH + // + this.gcSOH.AppearanceCell.Options.UseTextOptions = true; + this.gcSOH.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.gcSOH.AppearanceHeader.Options.UseTextOptions = true; + this.gcSOH.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.gcSOH.Caption = "SOH"; + this.gcSOH.DisplayFormat.FormatString = "0.0"; + this.gcSOH.FieldName = "SOH"; + this.gcSOH.Name = "gcSOH"; + this.gcSOH.Visible = true; + this.gcSOH.VisibleIndex = 9; + // + // gcTemp1 + // + this.gcTemp1.AppearanceCell.Options.UseTextOptions = true; + this.gcTemp1.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.gcTemp1.AppearanceHeader.Options.UseTextOptions = true; + this.gcTemp1.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.gcTemp1.Caption = "Temp1"; + this.gcTemp1.DisplayFormat.FormatString = "0.0"; + this.gcTemp1.FieldName = "temp_01"; + this.gcTemp1.Name = "gcTemp1"; + this.gcTemp1.Visible = true; + this.gcTemp1.VisibleIndex = 10; + // + // gcTemp2 + // + this.gcTemp2.AppearanceCell.Options.UseTextOptions = true; + this.gcTemp2.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.gcTemp2.AppearanceHeader.Options.UseTextOptions = true; + this.gcTemp2.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.gcTemp2.Caption = "Temp2"; + this.gcTemp2.DisplayFormat.FormatString = "0.0"; + this.gcTemp2.FieldName = "temp_02"; + this.gcTemp2.Name = "gcTemp2"; + this.gcTemp2.Visible = true; + this.gcTemp2.VisibleIndex = 11; + // + // gcTemp3 + // + this.gcTemp3.AppearanceCell.Options.UseTextOptions = true; + this.gcTemp3.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.gcTemp3.AppearanceHeader.Options.UseTextOptions = true; + this.gcTemp3.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.gcTemp3.Caption = "Temp3"; + this.gcTemp3.DisplayFormat.FormatString = "0.0"; + this.gcTemp3.FieldName = "temp_03"; + this.gcTemp3.Name = "gcTemp3"; + this.gcTemp3.Visible = true; + this.gcTemp3.VisibleIndex = 12; + // + // gcTemp4 + // + this.gcTemp4.AppearanceCell.Options.UseTextOptions = true; + this.gcTemp4.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.gcTemp4.AppearanceHeader.Options.UseTextOptions = true; + this.gcTemp4.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.gcTemp4.Caption = "Temp4"; + this.gcTemp4.DisplayFormat.FormatString = "0.0"; + this.gcTemp4.FieldName = "temp_04"; + this.gcTemp4.Name = "gcTemp4"; + this.gcTemp4.Visible = true; + this.gcTemp4.VisibleIndex = 13; + // + // gcTemp5 + // + this.gcTemp5.AppearanceCell.Options.UseTextOptions = true; + this.gcTemp5.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.gcTemp5.AppearanceHeader.Options.UseTextOptions = true; + this.gcTemp5.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.gcTemp5.Caption = "Temp5"; + this.gcTemp5.DisplayFormat.FormatString = "0.0"; + this.gcTemp5.FieldName = "temp_05"; + this.gcTemp5.Name = "gcTemp5"; + this.gcTemp5.Visible = true; + this.gcTemp5.VisibleIndex = 14; + // + // gcTemp6 + // + this.gcTemp6.AppearanceCell.Options.UseTextOptions = true; + this.gcTemp6.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.gcTemp6.AppearanceHeader.Options.UseTextOptions = true; + this.gcTemp6.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.gcTemp6.Caption = "Temp6"; + this.gcTemp6.DisplayFormat.FormatString = "0.0"; + this.gcTemp6.FieldName = "temp_06"; + this.gcTemp6.Name = "gcTemp6"; + this.gcTemp6.Visible = true; + this.gcTemp6.VisibleIndex = 15; + // + // cell_v_1 + // + this.cell_v_1.AppearanceCell.Options.UseTextOptions = true; + this.cell_v_1.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.cell_v_1.AppearanceHeader.Options.UseTextOptions = true; + this.cell_v_1.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.cell_v_1.Caption = "cell_v_1"; + this.cell_v_1.DisplayFormat.FormatString = "0.000"; + this.cell_v_1.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; + this.cell_v_1.FieldName = "cell_v_01"; + this.cell_v_1.Name = "cell_v_1"; + this.cell_v_1.Visible = true; + this.cell_v_1.VisibleIndex = 16; + // + // cell_v_2 + // + this.cell_v_2.AppearanceCell.Options.UseTextOptions = true; + this.cell_v_2.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.cell_v_2.AppearanceHeader.Options.UseTextOptions = true; + this.cell_v_2.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.cell_v_2.Caption = "cell_v_2"; + this.cell_v_2.DisplayFormat.FormatString = "0.000"; + this.cell_v_2.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; + this.cell_v_2.FieldName = "cell_v_02"; + this.cell_v_2.Name = "cell_v_2"; + this.cell_v_2.Visible = true; + this.cell_v_2.VisibleIndex = 17; + // + // cell_v_3 + // + this.cell_v_3.AppearanceCell.Options.UseTextOptions = true; + this.cell_v_3.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.cell_v_3.AppearanceHeader.Options.UseTextOptions = true; + this.cell_v_3.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.cell_v_3.Caption = "cell_v_3"; + this.cell_v_3.DisplayFormat.FormatString = "0.000"; + this.cell_v_3.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; + this.cell_v_3.FieldName = "cell_v_03"; + this.cell_v_3.Name = "cell_v_3"; + this.cell_v_3.Visible = true; + this.cell_v_3.VisibleIndex = 18; + // + // cell_v_4 + // + this.cell_v_4.AppearanceCell.Options.UseTextOptions = true; + this.cell_v_4.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.cell_v_4.AppearanceHeader.Options.UseTextOptions = true; + this.cell_v_4.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.cell_v_4.Caption = "cell_v_4"; + this.cell_v_4.DisplayFormat.FormatString = "0.000"; + this.cell_v_4.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; + this.cell_v_4.FieldName = "cell_v_04"; + this.cell_v_4.Name = "cell_v_4"; + this.cell_v_4.Visible = true; + this.cell_v_4.VisibleIndex = 19; + // + // cell_v_5 + // + this.cell_v_5.AppearanceCell.Options.UseTextOptions = true; + this.cell_v_5.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.cell_v_5.AppearanceHeader.Options.UseTextOptions = true; + this.cell_v_5.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.cell_v_5.Caption = "cell_v_5"; + this.cell_v_5.DisplayFormat.FormatString = "0.000"; + this.cell_v_5.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; + this.cell_v_5.FieldName = "cell_v_05"; + this.cell_v_5.Name = "cell_v_5"; + this.cell_v_5.Visible = true; + this.cell_v_5.VisibleIndex = 20; + // + // cell_v_6 + // + this.cell_v_6.AppearanceCell.Options.UseTextOptions = true; + this.cell_v_6.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.cell_v_6.AppearanceHeader.Options.UseTextOptions = true; + this.cell_v_6.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.cell_v_6.Caption = "cell_v_6"; + this.cell_v_6.DisplayFormat.FormatString = "0.000"; + this.cell_v_6.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; + this.cell_v_6.FieldName = "cell_v_06"; + this.cell_v_6.Name = "cell_v_6"; + this.cell_v_6.Visible = true; + this.cell_v_6.VisibleIndex = 21; + // + // cell_v_7 + // + this.cell_v_7.AppearanceCell.Options.UseTextOptions = true; + this.cell_v_7.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.cell_v_7.AppearanceHeader.Options.UseTextOptions = true; + this.cell_v_7.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.cell_v_7.Caption = "cell_v_7"; + this.cell_v_7.DisplayFormat.FormatString = "0.000"; + this.cell_v_7.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; + this.cell_v_7.FieldName = "cell_v_07"; + this.cell_v_7.Name = "cell_v_7"; + this.cell_v_7.Visible = true; + this.cell_v_7.VisibleIndex = 22; + // + // cell_v_8 + // + this.cell_v_8.AppearanceCell.Options.UseTextOptions = true; + this.cell_v_8.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.cell_v_8.AppearanceHeader.Options.UseTextOptions = true; + this.cell_v_8.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.cell_v_8.Caption = "cell_v_8"; + this.cell_v_8.DisplayFormat.FormatString = "0.000"; + this.cell_v_8.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; + this.cell_v_8.FieldName = "cell_v_08"; + this.cell_v_8.Name = "cell_v_8"; + this.cell_v_8.Visible = true; + this.cell_v_8.VisibleIndex = 23; + // + // cell_v_9 + // + this.cell_v_9.AppearanceCell.Options.UseTextOptions = true; + this.cell_v_9.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.cell_v_9.AppearanceHeader.Options.UseTextOptions = true; + this.cell_v_9.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.cell_v_9.Caption = "cell_v_9"; + this.cell_v_9.DisplayFormat.FormatString = "0.000"; + this.cell_v_9.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; + this.cell_v_9.FieldName = "cell_v_09"; + this.cell_v_9.Name = "cell_v_9"; + this.cell_v_9.Visible = true; + this.cell_v_9.VisibleIndex = 24; + // + // cell_v_10 + // + this.cell_v_10.AppearanceCell.Options.UseTextOptions = true; + this.cell_v_10.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.cell_v_10.AppearanceHeader.Options.UseTextOptions = true; + this.cell_v_10.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.cell_v_10.Caption = "cell_v_10"; + this.cell_v_10.DisplayFormat.FormatString = "0.000"; + this.cell_v_10.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; + this.cell_v_10.FieldName = "cell_v_10"; + this.cell_v_10.Name = "cell_v_10"; + this.cell_v_10.Visible = true; + this.cell_v_10.VisibleIndex = 25; + // + // cell_v_11 + // + this.cell_v_11.AppearanceCell.Options.UseTextOptions = true; + this.cell_v_11.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.cell_v_11.AppearanceHeader.Options.UseTextOptions = true; + this.cell_v_11.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.cell_v_11.Caption = "cell_v_11"; + this.cell_v_11.DisplayFormat.FormatString = "0.000"; + this.cell_v_11.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; + this.cell_v_11.FieldName = "cell_v_11"; + this.cell_v_11.Name = "cell_v_11"; + this.cell_v_11.Visible = true; + this.cell_v_11.VisibleIndex = 26; + // + // cell_v_12 + // + this.cell_v_12.AppearanceCell.Options.UseTextOptions = true; + this.cell_v_12.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.cell_v_12.AppearanceHeader.Options.UseTextOptions = true; + this.cell_v_12.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.cell_v_12.Caption = "cell_v_12"; + this.cell_v_12.DisplayFormat.FormatString = "0.000"; + this.cell_v_12.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; + this.cell_v_12.FieldName = "cell_v_12"; + this.cell_v_12.Name = "cell_v_12"; + this.cell_v_12.Visible = true; + this.cell_v_12.VisibleIndex = 27; + // + // cell_v_13 + // + this.cell_v_13.AppearanceCell.Options.UseTextOptions = true; + this.cell_v_13.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.cell_v_13.AppearanceHeader.Options.UseTextOptions = true; + this.cell_v_13.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.cell_v_13.Caption = "cell_v_13"; + this.cell_v_13.DisplayFormat.FormatString = "0.000"; + this.cell_v_13.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; + this.cell_v_13.FieldName = "cell_v_13"; + this.cell_v_13.Name = "cell_v_13"; + this.cell_v_13.Visible = true; + this.cell_v_13.VisibleIndex = 28; + // + // cell_v_14 + // + this.cell_v_14.AppearanceCell.Options.UseTextOptions = true; + this.cell_v_14.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.cell_v_14.AppearanceHeader.Options.UseTextOptions = true; + this.cell_v_14.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.cell_v_14.Caption = "cell_v_14"; + this.cell_v_14.DisplayFormat.FormatString = "0.000"; + this.cell_v_14.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; + this.cell_v_14.FieldName = "cell_v_14"; + this.cell_v_14.Name = "cell_v_14"; + this.cell_v_14.Visible = true; + this.cell_v_14.VisibleIndex = 29; + // + // cell_v_15 + // + this.cell_v_15.AppearanceCell.Options.UseTextOptions = true; + this.cell_v_15.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.cell_v_15.AppearanceHeader.Options.UseTextOptions = true; + this.cell_v_15.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.cell_v_15.Caption = "cell_v_15"; + this.cell_v_15.DisplayFormat.FormatString = "0.000"; + this.cell_v_15.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; + this.cell_v_15.FieldName = "cell_v_15"; + this.cell_v_15.Name = "cell_v_15"; + this.cell_v_15.Visible = true; + this.cell_v_15.VisibleIndex = 30; + // + // cell_v_16 + // + this.cell_v_16.AppearanceCell.Options.UseTextOptions = true; + this.cell_v_16.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.cell_v_16.AppearanceHeader.Options.UseTextOptions = true; + this.cell_v_16.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.cell_v_16.Caption = "cell_v_16"; + this.cell_v_16.DisplayFormat.FormatString = "0.000"; + this.cell_v_16.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric; + this.cell_v_16.FieldName = "cell_v_16"; + this.cell_v_16.Name = "cell_v_16"; + this.cell_v_16.Visible = true; + this.cell_v_16.VisibleIndex = 31; + // + // layoutControlGroup2 + // + this.layoutControlGroup2.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup2.GroupBordersVisible = false; + this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlGroup3, + this.layoutControlGroup4}); + this.layoutControlGroup2.Name = "Root"; + this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2); + this.layoutControlGroup2.Size = new System.Drawing.Size(903, 526); + this.layoutControlGroup2.TextVisible = false; + // + // layoutControlGroup3 + // + this.layoutControlGroup3.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.emptySpaceItem1, + this.layoutControlItem5}); + this.layoutControlGroup3.Location = new System.Drawing.Point(0, 0); + this.layoutControlGroup3.Name = "layoutControlGroup3"; + this.layoutControlGroup3.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup3.Size = new System.Drawing.Size(899, 64); + this.layoutControlGroup3.Text = "Command"; + // + // emptySpaceItem1 + // + this.emptySpaceItem1.AllowHotTrack = false; + this.emptySpaceItem1.Location = new System.Drawing.Point(0, 0); + this.emptySpaceItem1.Name = "emptySpaceItem1"; + this.emptySpaceItem1.Size = new System.Drawing.Size(773, 35); + this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlItem5 + // + this.layoutControlItem5.Control = this.btnBmsHistoryReq; + this.layoutControlItem5.Location = new System.Drawing.Point(773, 0); + this.layoutControlItem5.MinSize = new System.Drawing.Size(89, 26); + this.layoutControlItem5.Name = "layoutControlItem5"; + this.layoutControlItem5.Size = new System.Drawing.Size(118, 35); + this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem5.TextVisible = false; + // + // layoutControlGroup4 + // + this.layoutControlGroup4.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem4, + this.layoutControlItem6, + this.emptySpaceItem2}); + this.layoutControlGroup4.Location = new System.Drawing.Point(0, 64); + this.layoutControlGroup4.Name = "layoutControlGroup4"; + this.layoutControlGroup4.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup4.Size = new System.Drawing.Size(899, 458); + this.layoutControlGroup4.Text = "Result"; + // + // layoutControlItem4 + // + this.layoutControlItem4.Control = this.gcBmsHistory; + this.layoutControlItem4.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem4.MinSize = new System.Drawing.Size(104, 24); + this.layoutControlItem4.Name = "layoutControlItem4"; + this.layoutControlItem4.Size = new System.Drawing.Size(891, 392); + this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem4.TextVisible = false; + // + // layoutControlItem6 + // + this.layoutControlItem6.Control = this.btnExportExcel; + this.layoutControlItem6.Location = new System.Drawing.Point(774, 392); + this.layoutControlItem6.MinSize = new System.Drawing.Size(89, 26); + this.layoutControlItem6.Name = "layoutControlItem6"; + this.layoutControlItem6.Size = new System.Drawing.Size(117, 37); + this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem6.TextVisible = false; + // + // emptySpaceItem2 + // + this.emptySpaceItem2.AllowHotTrack = false; + this.emptySpaceItem2.Location = new System.Drawing.Point(0, 392); + this.emptySpaceItem2.MinSize = new System.Drawing.Size(104, 24); + this.emptySpaceItem2.Name = "emptySpaceItem2"; + this.emptySpaceItem2.Size = new System.Drawing.Size(774, 37); + this.emptySpaceItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0); + // + // btnClose + // + this.btnClose.Location = new System.Drawing.Point(3, 559); + this.btnClose.Name = "btnClose"; + this.btnClose.Size = new System.Drawing.Size(905, 40); + this.btnClose.StyleController = this.layoutControl1; + this.btnClose.TabIndex = 5; + this.btnClose.Text = "Close"; + this.btnClose.Click += new System.EventHandler(this.btnClose_Click); + // + // layoutControlGroup1 + // + this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1"; + this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup1.GroupBordersVisible = false; + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem2, + this.layoutControlItem3}); + this.layoutControlGroup1.Name = "Root"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup1.Size = new System.Drawing.Size(911, 602); + this.layoutControlGroup1.TextVisible = false; + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.btnClose; + this.layoutControlItem2.Location = new System.Drawing.Point(0, 556); + this.layoutControlItem2.MinSize = new System.Drawing.Size(89, 26); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(909, 44); + this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // layoutControlItem3 + // + this.layoutControlItem3.Control = this.tabHistory; + this.layoutControlItem3.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem3.Name = "layoutControlItem3"; + this.layoutControlItem3.Size = new System.Drawing.Size(909, 556); + this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem3.TextVisible = false; + // + // TmrCheckReq + // + this.TmrCheckReq.Interval = 500; + this.TmrCheckReq.Tick += new System.EventHandler(this.TmrCheckReq_Tick); + // + // fmxHistory + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(911, 602); + this.Controls.Add(this.layoutControl1); + this.IconOptions.Image = ((System.Drawing.Image)(resources.GetObject("fmxHistory.IconOptions.Image"))); + this.Name = "fmxHistory"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "History"; + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.tabHistory)).EndInit(); + this.tabHistory.ResumeLayout(false); + this.pgGuiHistory.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).EndInit(); + this.layoutControl2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + this.pgBmsHistory.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).EndInit(); + this.layoutControl3.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.gcBmsHistory)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gvBmsHistory)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private Controls.ucHistroy ucHistroy1; + private DevExpress.XtraEditors.SimpleButton btnClose; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraTab.XtraTabControl tabHistory; + private DevExpress.XtraTab.XtraTabPage pgGuiHistory; + private DevExpress.XtraLayout.LayoutControl layoutControl2; + private DevExpress.XtraLayout.LayoutControlGroup Root; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraTab.XtraTabPage pgBmsHistory; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private DevExpress.XtraLayout.LayoutControl layoutControl3; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2; + private DevExpress.XtraGrid.GridControl gcBmsHistory; + private DevExpress.XtraGrid.Views.Grid.GridView gvBmsHistory; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4; + private DevExpress.XtraEditors.SimpleButton btnBmsHistoryReq; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup4; + private DevExpress.XtraGrid.Columns.GridColumn gcHistDateTime; + private DevExpress.XtraGrid.Columns.GridColumn gcStatus; + private DevExpress.XtraGrid.Columns.GridColumn gcWarning; + private DevExpress.XtraGrid.Columns.GridColumn gcProtect; + private DevExpress.XtraGrid.Columns.GridColumn gcError; + private DevExpress.XtraGrid.Columns.GridColumn gcVoltage; + private DevExpress.XtraGrid.Columns.GridColumn gcCurrent; + private DevExpress.XtraGrid.Columns.GridColumn gcSOC; + private DevExpress.XtraGrid.Columns.GridColumn gcSOH; + private DevExpress.XtraGrid.Columns.GridColumn gcTemp1; + private DevExpress.XtraGrid.Columns.GridColumn gcTemp2; + private DevExpress.XtraGrid.Columns.GridColumn gcTemp3; + private DevExpress.XtraGrid.Columns.GridColumn gcTemp4; + private DevExpress.XtraGrid.Columns.GridColumn gcTemp5; + private DevExpress.XtraGrid.Columns.GridColumn gcTemp6; + private DevExpress.XtraGrid.Columns.GridColumn cell_v_1; + private DevExpress.XtraGrid.Columns.GridColumn cell_v_2; + private DevExpress.XtraGrid.Columns.GridColumn cell_v_3; + private DevExpress.XtraGrid.Columns.GridColumn cell_v_4; + private DevExpress.XtraGrid.Columns.GridColumn cell_v_5; + private DevExpress.XtraGrid.Columns.GridColumn cell_v_6; + private DevExpress.XtraGrid.Columns.GridColumn cell_v_7; + private DevExpress.XtraGrid.Columns.GridColumn cell_v_8; + private DevExpress.XtraGrid.Columns.GridColumn cell_v_9; + private DevExpress.XtraGrid.Columns.GridColumn cell_v_10; + private DevExpress.XtraGrid.Columns.GridColumn cell_v_11; + private DevExpress.XtraGrid.Columns.GridColumn cell_v_12; + private DevExpress.XtraGrid.Columns.GridColumn cell_v_13; + private DevExpress.XtraGrid.Columns.GridColumn cell_v_14; + private DevExpress.XtraGrid.Columns.GridColumn cell_v_15; + private DevExpress.XtraGrid.Columns.GridColumn cell_v_16; + private DevExpress.XtraEditors.SimpleButton btnExportExcel; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2; + private DevExpress.XtraGrid.Columns.GridColumn gcNo; + private System.Windows.Forms.Timer TmrCheckReq; + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxHistory.cs b/LFP_Manager/Forms/fmxHistory.cs new file mode 100644 index 0000000..b6d8f8a --- /dev/null +++ b/LFP_Manager/Forms/fmxHistory.cs @@ -0,0 +1,321 @@ +using LFP_Manager.DataStructure; +using LFP_Manager.Function; +using System; +using System.Data; +using System.Windows.Forms; + +namespace LFP_Manager.Forms +{ + public partial class fmxHistory : DevExpress.XtraEditors.XtraForm + { + #region VARIABLES + + private int SystemId = 0; + private CommConfig Config; + + private byte[] rData = null; + private ushort curr_addr = 0; + private int hist_no = 0; + private bool stopReq = true; + + private DateTime ReqDateTime; + + private DataTable BmsHistoryTable = null; + + public event SendDataUartEvent OnSendUartData = null; + + #endregion + + #region CONTRUCTORS + + //public fmxHistory() + //{ + // InitializeComponent(); + //} + + public fmxHistory(CommConfig aConfig, int systemId) + { + InitializeComponent(); + + Config = aConfig; + + ucHistroy1.SetCommCofig(Config); + SystemId = systemId; + + CreateHistoryColomn(ref BmsHistoryTable); + + switch (Config.CommType) + { + case csConstData.CommType.COMM_UART: + pgBmsHistory.PageEnabled = true; + //tabHistory.TabPages.Remove(pgBmsHistory); + break; + case csConstData.CommType.COMM_RS485: + pgBmsHistory.PageEnabled = false; + tabHistory.TabPages.Remove(pgBmsHistory); + break; + case csConstData.CommType.COMM_SNMP: + pgBmsHistory.PageEnabled = false; + tabHistory.TabPages.Remove(pgBmsHistory); + break; + default: + break; + } + } + + #endregion + + #region INITIALIZE COMPONENT + + private void CreateHistoryColomn(ref DataTable hDT) + { + hDT = new DataTable(); + + hDT.Columns.Add("no", typeof(int)); + hDT.Columns.Add("datetime", typeof(DateTime)); + hDT.Columns.Add("status", typeof(int)); + hDT.Columns.Add("warning", typeof(string)); + hDT.Columns.Add("protect", typeof(string)); + hDT.Columns.Add("error", typeof(string)); + + hDT.Columns.Add("voltage", typeof(float)); + hDT.Columns.Add("current", typeof(float)); + hDT.Columns.Add("SOC", typeof(float)); + hDT.Columns.Add("SOH", typeof(float)); + + for (int i = 0; i < 6; i++) + { + hDT.Columns.Add(string.Format("temp_{0:00}", i + 1), typeof(float)); + } + for (int i = 0; i < 16; i++) + { + hDT.Columns.Add(string.Format("cell_v_{0:00}", i + 1), typeof(float)); + } + gcBmsHistory.DataSource = hDT; + } + + #endregion + + #region PUBLIC FUNCTIONS + private short[] ByteArrTo2Short(byte[] bytes) + { + short[] result = null; + + if (bytes != null) + { + int len = bytes[2]; + result = new short[len / 2]; + + for (int i = 0; i < result.Length; i++) + { + result[i] = (short)((bytes[3 + (i * 2) + 0] << 8) + bytes[3 + (i * 2) + 1]); + } + } + return result; + } + public void RecvUardData(byte[] data) + { + rData = data; + + if ((rData != null) && (rData.Length > 58)) + { + try + { + DataRow hRow = BmsHistoryTable.NewRow(); + + short[] shorts = ByteArrTo2Short(data); + + int pos = 0; + int yy, MM, dd, HH, mm, ss; + Int32 iDateTime = (rData[3 + 2] << 24) | (rData[3 + 3] << 16) | (rData[3 + 0] << 8) | (rData[3 + 1] << 0); + //Int32 iDateTime = (Int32)((shorts[pos + 1] << 16) | (shorts[pos + 0] << 0)); + yy = (iDateTime >> 26) & 0x003F; + MM = (iDateTime >> 22) & 0x000F; + dd = (iDateTime >> 17) & 0x001F; + HH = (iDateTime >> 12) & 0x001F; + mm = (iDateTime >> 6) & 0x003F; + ss = (iDateTime >> 0) & 0x003F; + + hRow["no"] = hist_no; + string stDateTime = string.Format("{0}-{1:00}-{2:00} {3:00}:{4:00}:{5:00}" + , yy + , MM + , dd + , HH + , mm + , ss + ); + + DateTime aDateTime = Convert.ToDateTime(stDateTime); + hRow["datetime"] = aDateTime; + + pos = 2; + hRow["status"] = shorts[pos++]; + hRow["warning"] = string.Format("{0:X4}", shorts[pos++]); + hRow["protect"] = string.Format("{0:X4}", shorts[pos++]); + hRow["error"] = string.Format("{0:X4}", shorts[pos++]); + hRow["voltage"] = string.Format("{0:0.00}", Convert.ToDouble(shorts[pos++]) / 100); + hRow["current"] = string.Format("{0:0.00}", Convert.ToDouble(shorts[pos++]) / 100); + hRow["SOC"] = string.Format("{0:0.0}", Convert.ToDouble(shorts[pos++]) / 1); + + // Temperature + for (int i = 0; i < 3; i++) + { + hRow[string.Format("temp_{0:00}", (i * 2) + 1)] = Convert.ToDouble((byte)(shorts[pos] >> 8)); + hRow[string.Format("temp_{0:00}", (i * 2) + 2)] = Convert.ToDouble((byte)(shorts[pos++] >> 0)); + } + // Cell Voltage + for (int i = 0; i < 16; i++) + { + hRow[string.Format("cell_v_{0:00}", i + 1)] = Convert.ToDouble(shorts[pos++]) / 1000; + } + hRow["SOH"] = string.Format("{0:0.0}", Convert.ToDouble(shorts[pos++]) / 1); + + BmsHistoryTable.Rows.Add(hRow); + } + catch (Exception e) + { + MessageBox.Show(e.Message); + } + } + gvBmsHistory.BestFitColumns(); + gvBmsHistory.ClearSelection(); + + hist_no++; + curr_addr += 0x20; + RequestHistoryData(curr_addr); + } + + #endregion + + #region BUTTON EVENT + + private void btnClose_Click(object sender, EventArgs e) + { + Close(); + } + + private void btnBmsHistoryReq_Click(object sender, EventArgs e) + { + if (stopReq) + { + BmsHistoryTable.Rows.Clear(); + + stopReq = false; + hist_no = 1; + curr_addr = 0x0200; + TmrCheckReq.Enabled = true; + + RequestHistoryData(curr_addr); + + btnBmsHistoryReq.Text = "STOP"; + } + else + { + stopReq = true; + //btnBmsHistoryReq.Text = "Request"; + //TmrCheckReq.Enabled = false; + } + } + + private void RequestHistoryData(ushort haddr) + { + byte[] crc; + ushort addr = haddr; + + // Normal mode --> Bootloader mode + byte[] sdata = new byte[8]; + sdata[0] = (byte)SystemId; // Dev Address + sdata[1] = 0x03; // Function Code + sdata[2] = (byte)(addr >> 8); // Address H + sdata[3] = (byte)(addr >> 0); // Address L + sdata[4] = 0x00; // Number of Register H + sdata[5] = 0x1D; // Number of Register L + + crc = csSerialCommFunction.GetCRC(sdata, 6); + + sdata[6] = crc[1]; // CRCH + sdata[7] = crc[0]; // CRCL + + if (stopReq == false) + { + OnSendUartData?.Invoke(addr, sdata, false, 1); + ReqDateTime = DateTime.Now; + } + } + + private void btnExportExcel_Click(object sender, EventArgs e) + { + SaveFileDialog sDialog = new SaveFileDialog(); + sDialog.Title = "Select save file"; + sDialog.DefaultExt = "xlsx"; + sDialog.Filter = "Excel files 2003 (*.xls)|*.xls|All files (*.*)|*.*"; + + if (sDialog.ShowDialog() == DialogResult.OK) + { + string filename = sDialog.FileName; + + try + { + csExcelExport.ExportToExcelExt(BmsHistoryTable, filename); + + MessageBox.Show("Complete Export Excel File", "Result", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + } + #endregion + + #region GRID DISPLAY + private void gvBmsHistory_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e) + { + if (e.Column.FieldName == "status") + { + int status = Convert.ToInt32(e.Value); + switch (status) + { + case 0: + e.DisplayText = "Standby"; + break; + case 1: + e.DisplayText = "Charging"; + break; + case 2: + e.DisplayText = "Discharging"; + break; + case 4: + e.DisplayText = "Protect"; + break; + case 8: + e.DisplayText = "Charging-Lmt"; + break; + case 0x32: + e.DisplayText = "Power-On"; + break; + default: + e.DisplayText = string.Format("Unknown({0:X4})", status); + break; + } + } + } + #endregion + + #region TIMER EVENT + private void TmrCheckReq_Tick(object sender, EventArgs e) + { + DateTime nDateTime = ReqDateTime.AddSeconds(1); + + if (nDateTime < DateTime.Now) + { + TmrCheckReq.Enabled = false; + + MessageBox.Show("Finished BMS History Read", "Result", MessageBoxButtons.OK, MessageBoxIcon.Information); + btnBmsHistoryReq.Text = "Request"; + } + } + #endregion + } +} diff --git a/LFP_Manager/Forms/fmxHistory.resx b/LFP_Manager/Forms/fmxHistory.resx new file mode 100644 index 0000000..2e52af4 --- /dev/null +++ b/LFP_Manager/Forms/fmxHistory.resx @@ -0,0 +1,151 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + vAAADrwBlbxySQAABMxJREFUWEflVWtsFVUQPrdtSvilMRIVY8T4h1/aoDGKqIWCIBXR+IgaAmriD/CR + SIyVYjSSPmhLrVVTBa6tQNGIBSqYCEEera34KCqFEmgLNa34qPRaeqHv23G+2Z3tXrp3u/iHGCeZnN09 + M2e++WbOrKFLLP8dACMjI87qp2oTVAIBcB8Y8zncvRcUxEUxoIdGon3UdbbX0TPdvdR9vl/23HZBZFwA + euDQcEzedze00aSF79Ckx9+nKx8rc3Tyo2V0+GSn2AyzbVAgvgD0gFgsRsOsfQNDNPXZCjLpq8nc9xaZ + ucWW4vmuPJqZ9Rm8xDZIcEggBjT7VR8fJHNnLiUveNsKOr/EUn5Ovp+/MYhNe5vEFj5BWEgIQJ1BJ5qr + 5dcITcwsoZBmzIFDeBcA9jq7iK554gOK9PQJC8KEfVYiGbcEmv0Db1aTuTufkjKt7CXgvWu4BKw2C0lg + YUYevbTugPgM2iz4iScAzX5waFjePz/YSmZWgUWzBuJSLF+7nx7J3SlB5Rv2GMwEXrUhxyvFGABqiMaD + 87neAbrxqTCF5hRx9hbVoTlr6CrufDRly+kIpc4rpiQO6oCbWUDpWVvsJPxZGAsAyg5KffZHdXGNJ+s9 + +bRhz1HZh7xa8bU0oGMDEPxeufeY7PuxEAdAjfQeH2/vsrJj9coOB6PRengITVmyXpjRxgzZDfk3Dy3Y + gFGN4RbPEgAAZP7r26zGc+rL2fEt+Kn1TweA9smWmuNim8pDCgxgxfsKZgeiLFwoDgBs6qGQ7fUtdtcn + 6HAOjMxgj17AikFk0t7gkuWRmZ5L5o4cMrfnUE1jB9uOMusGIgD0g0w8NoqeH6Api9eTySi06LQpvW7R + Ojp7rl8Cs5P4uAX/hWwGmF1RJ5mv3FBHr5Tto+pvWmXfi4U4BpTOrPLa+KuFldn4lGmGACSGTUPzH7Tn + 0C9UsfsIlWxtoPCXjfTF96dox7etcnWhO787SZ981UT1TactXwbvZsHoi9JztO0vuceotwTH4OGun51d + JVmrHcB2MxsdnT104HA7vcYZX79orVUCph2ApRQzuBTTc+jyh96l385ExzQkA7AecDAkY0UVB1w9mj0r + bsKRtk4ZyQrAS/C9fFcjXc1/RsNzI3VhKaXwORMetBpycfEusXOXgksw2nib9x3j+5vvTDy511wK3HMI + slZHrKrICnua2YmOCE19+kOrh7SJsc4qpP0/t4uNgjB4wAGo6bVPMoUZRaONx1ncsCRMUZ6GsIFCFARE + QejzwOCQPDfzz+syvopJ87SUDCC9gG5etpFt+AZxXAA2vf2Ww3LuXtTMoR4OXPtt9c2yr9m7g7tF9uy1 + 3wZRWv3j2Gbm95Lth2Qf11duQeOpTmm8FM4agVMWlErN5q7cKoZe18dL1AaZwQd609KNMj1RTpydzP10 + xcPv0e9dUbbjEuBeT3u+0upcrhmMETyFJ96Jjq64xgsKAmqBJqrlISQ3gumXs3memNtWUSZPWYjJCtdS + 2nObaNoLlQLk1hc3Uxo3UGHVD2Lg1/V+Ah/tmZfDNZT2TLmcjRi3sCLmDvzmUYdEguw1+MWAcPv4+aH/ + nFGMYKryzvVR8TskkaiPnuUVA+JMQi+F6Ppv5MLzvNT5F1wq+b8DIPoHjJf5qaq9hPwAAAAASUVORK5C + YII= + + + \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxInventoryConfig.Designer.cs b/LFP_Manager/Forms/fmxInventoryConfig.Designer.cs new file mode 100644 index 0000000..5e4eae1 --- /dev/null +++ b/LFP_Manager/Forms/fmxInventoryConfig.Designer.cs @@ -0,0 +1,454 @@ +namespace LFP_Manager.Forms +{ + partial class fmxInventoryConfig + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fmxInventoryConfig)); + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.btnClose = new DevExpress.XtraEditors.SimpleButton(); + this.gbSerialNo = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl2 = new DevExpress.XtraLayout.LayoutControl(); + this.nSerialNo = new DevExpress.XtraEditors.TextEdit(); + this.lbSerialNo = new DevExpress.XtraEditors.LabelControl(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); + this.gbMDate = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl3 = new DevExpress.XtraLayout.LayoutControl(); + this.lbMDate = new DevExpress.XtraEditors.LabelControl(); + this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem(); + this.Root = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.tmrDisplay = new System.Windows.Forms.Timer(this.components); + this.nManuDate = new DevExpress.XtraEditors.TextEdit(); + this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem(); + this.BtnManuDateWrite = new DevExpress.XtraEditors.SimpleButton(); + this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem(); + this.BtnSerialNoWrite = new DevExpress.XtraEditors.SimpleButton(); + this.layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.gbSerialNo)).BeginInit(); + this.gbSerialNo.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).BeginInit(); + this.layoutControl2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.nSerialNo.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbMDate)).BeginInit(); + this.gbMDate.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).BeginInit(); + this.layoutControl3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.nManuDate.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.btnClose); + this.layoutControl1.Controls.Add(this.gbSerialNo); + this.layoutControl1.Controls.Add(this.gbMDate); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(999, 164, 650, 400); + this.layoutControl1.Root = this.Root; + this.layoutControl1.Size = new System.Drawing.Size(720, 425); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // btnClose + // + this.btnClose.Appearance.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btnClose.Appearance.Options.UseFont = true; + this.btnClose.Location = new System.Drawing.Point(4, 373); + this.btnClose.Name = "btnClose"; + this.btnClose.Size = new System.Drawing.Size(712, 48); + this.btnClose.StyleController = this.layoutControl1; + this.btnClose.TabIndex = 7; + this.btnClose.Text = "Close"; + this.btnClose.Click += new System.EventHandler(this.btnClose_Click); + // + // gbSerialNo + // + this.gbSerialNo.Controls.Add(this.layoutControl2); + this.gbSerialNo.Location = new System.Drawing.Point(4, 174); + this.gbSerialNo.Name = "gbSerialNo"; + this.gbSerialNo.Size = new System.Drawing.Size(712, 165); + this.gbSerialNo.TabIndex = 5; + this.gbSerialNo.Text = "Serial Number"; + // + // layoutControl2 + // + this.layoutControl2.Controls.Add(this.BtnSerialNoWrite); + this.layoutControl2.Controls.Add(this.nSerialNo); + this.layoutControl2.Controls.Add(this.lbSerialNo); + this.layoutControl2.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl2.Location = new System.Drawing.Point(2, 23); + this.layoutControl2.Name = "layoutControl2"; + this.layoutControl2.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(993, 64, 650, 400); + this.layoutControl2.Root = this.layoutControlGroup1; + this.layoutControl2.Size = new System.Drawing.Size(708, 140); + this.layoutControl2.TabIndex = 0; + this.layoutControl2.Text = "layoutControl2"; + // + // nSerialNo + // + this.nSerialNo.Location = new System.Drawing.Point(7, 70); + this.nSerialNo.Name = "nSerialNo"; + this.nSerialNo.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 36F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.nSerialNo.Properties.Appearance.Options.UseFont = true; + this.nSerialNo.Properties.Appearance.Options.UseTextOptions = true; + this.nSerialNo.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.nSerialNo.Properties.MaxLength = 16; + this.nSerialNo.Size = new System.Drawing.Size(605, 64); + this.nSerialNo.StyleController = this.layoutControl2; + this.nSerialNo.TabIndex = 5; + // + // lbSerialNo + // + this.lbSerialNo.Appearance.Font = new System.Drawing.Font("Tahoma", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbSerialNo.Appearance.Options.UseFont = true; + this.lbSerialNo.Location = new System.Drawing.Point(7, 7); + this.lbSerialNo.Name = "lbSerialNo"; + this.lbSerialNo.Size = new System.Drawing.Size(694, 59); + this.lbSerialNo.StyleController = this.layoutControl2; + this.lbSerialNo.TabIndex = 4; + this.lbSerialNo.Text = "Serial No:"; + // + // layoutControlGroup1 + // + this.layoutControlGroup1.CustomizationFormText = "Root"; + this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup1.GroupBordersVisible = false; + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem3, + this.layoutControlItem4, + this.layoutControlItem10}); + this.layoutControlGroup1.Name = "Root"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5); + this.layoutControlGroup1.Size = new System.Drawing.Size(708, 140); + this.layoutControlGroup1.TextVisible = false; + // + // layoutControlItem3 + // + this.layoutControlItem3.Control = this.lbSerialNo; + this.layoutControlItem3.CustomizationFormText = "layoutControlItem3"; + this.layoutControlItem3.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem3.MinSize = new System.Drawing.Size(74, 18); + this.layoutControlItem3.Name = "layoutControlItem3"; + this.layoutControlItem3.Size = new System.Drawing.Size(698, 63); + this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem3.TextVisible = false; + // + // layoutControlItem4 + // + this.layoutControlItem4.Control = this.nSerialNo; + this.layoutControlItem4.CustomizationFormText = "layoutControlItem4"; + this.layoutControlItem4.Location = new System.Drawing.Point(0, 63); + this.layoutControlItem4.MaxSize = new System.Drawing.Size(0, 67); + this.layoutControlItem4.MinSize = new System.Drawing.Size(171, 67); + this.layoutControlItem4.Name = "layoutControlItem4"; + this.layoutControlItem4.Size = new System.Drawing.Size(609, 67); + this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem4.TextVisible = false; + // + // gbMDate + // + this.gbMDate.Controls.Add(this.layoutControl3); + this.gbMDate.Location = new System.Drawing.Point(4, 4); + this.gbMDate.Name = "gbMDate"; + this.gbMDate.Size = new System.Drawing.Size(712, 166); + this.gbMDate.TabIndex = 4; + this.gbMDate.Text = "Manufacture Date"; + // + // layoutControl3 + // + this.layoutControl3.Controls.Add(this.BtnManuDateWrite); + this.layoutControl3.Controls.Add(this.nManuDate); + this.layoutControl3.Controls.Add(this.lbMDate); + this.layoutControl3.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl3.Location = new System.Drawing.Point(2, 23); + this.layoutControl3.Name = "layoutControl3"; + this.layoutControl3.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(993, 0, 650, 400); + this.layoutControl3.Root = this.layoutControlGroup2; + this.layoutControl3.Size = new System.Drawing.Size(708, 141); + this.layoutControl3.TabIndex = 0; + this.layoutControl3.Text = "layoutControl3"; + // + // lbMDate + // + this.lbMDate.Appearance.Font = new System.Drawing.Font("Tahoma", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbMDate.Appearance.Options.UseFont = true; + this.lbMDate.Location = new System.Drawing.Point(7, 7); + this.lbMDate.Name = "lbMDate"; + this.lbMDate.Size = new System.Drawing.Size(694, 59); + this.lbMDate.StyleController = this.layoutControl3; + this.lbMDate.TabIndex = 6; + this.lbMDate.Text = "Manufacture Date:"; + // + // layoutControlGroup2 + // + this.layoutControlGroup2.CustomizationFormText = "Root"; + this.layoutControlGroup2.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup2.GroupBordersVisible = false; + this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem9, + this.layoutControlItem7, + this.layoutControlItem8}); + this.layoutControlGroup2.Name = "Root"; + this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5); + this.layoutControlGroup2.Size = new System.Drawing.Size(708, 141); + this.layoutControlGroup2.TextVisible = false; + // + // layoutControlItem9 + // + this.layoutControlItem9.Control = this.lbMDate; + this.layoutControlItem9.CustomizationFormText = "layoutControlItem9"; + this.layoutControlItem9.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem9.MinSize = new System.Drawing.Size(74, 18); + this.layoutControlItem9.Name = "layoutControlItem9"; + this.layoutControlItem9.Size = new System.Drawing.Size(698, 63); + this.layoutControlItem9.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem9.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem9.TextVisible = false; + // + // Root + // + this.Root.CustomizationFormText = "Root"; + this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.Root.GroupBordersVisible = false; + this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem1, + this.layoutControlItem2, + this.layoutControlItem6, + this.emptySpaceItem1}); + this.Root.Name = "Root"; + this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2); + this.Root.Size = new System.Drawing.Size(720, 425); + this.Root.TextVisible = false; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.gbMDate; + this.layoutControlItem1.CustomizationFormText = "layoutControlItem1"; + this.layoutControlItem1.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(716, 170); + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.gbSerialNo; + this.layoutControlItem2.CustomizationFormText = "layoutControlItem2"; + this.layoutControlItem2.Location = new System.Drawing.Point(0, 170); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(716, 169); + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // layoutControlItem6 + // + this.layoutControlItem6.Control = this.btnClose; + this.layoutControlItem6.CustomizationFormText = "layoutControlItem6"; + this.layoutControlItem6.Location = new System.Drawing.Point(0, 369); + this.layoutControlItem6.MinSize = new System.Drawing.Size(89, 26); + this.layoutControlItem6.Name = "layoutControlItem6"; + this.layoutControlItem6.Size = new System.Drawing.Size(716, 52); + this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem6.TextVisible = false; + // + // emptySpaceItem1 + // + this.emptySpaceItem1.AllowHotTrack = false; + this.emptySpaceItem1.CustomizationFormText = "emptySpaceItem1"; + this.emptySpaceItem1.Location = new System.Drawing.Point(0, 339); + this.emptySpaceItem1.Name = "emptySpaceItem1"; + this.emptySpaceItem1.Size = new System.Drawing.Size(716, 30); + this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0); + // + // tmrDisplay + // + this.tmrDisplay.Tick += new System.EventHandler(this.tmrDisplay_Tick); + // + // nManuDate + // + this.nManuDate.Location = new System.Drawing.Point(7, 70); + this.nManuDate.Name = "nManuDate"; + this.nManuDate.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 36F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.nManuDate.Properties.Appearance.Options.UseFont = true; + this.nManuDate.Properties.Appearance.Options.UseTextOptions = true; + this.nManuDate.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.nManuDate.Properties.MaxLength = 8; + this.nManuDate.Size = new System.Drawing.Size(605, 64); + this.nManuDate.StyleController = this.layoutControl3; + this.nManuDate.TabIndex = 7; + // + // layoutControlItem7 + // + this.layoutControlItem7.Control = this.nManuDate; + this.layoutControlItem7.Location = new System.Drawing.Point(0, 63); + this.layoutControlItem7.Name = "layoutControlItem7"; + this.layoutControlItem7.Size = new System.Drawing.Size(609, 68); + this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem7.TextVisible = false; + // + // BtnManuDateWrite + // + this.BtnManuDateWrite.Appearance.Font = new System.Drawing.Font("Tahoma", 10F); + this.BtnManuDateWrite.Appearance.Options.UseFont = true; + this.BtnManuDateWrite.Location = new System.Drawing.Point(616, 70); + this.BtnManuDateWrite.Name = "BtnManuDateWrite"; + this.BtnManuDateWrite.Size = new System.Drawing.Size(85, 64); + this.BtnManuDateWrite.StyleController = this.layoutControl3; + this.BtnManuDateWrite.TabIndex = 8; + this.BtnManuDateWrite.Text = "Apply"; + this.BtnManuDateWrite.Click += new System.EventHandler(this.BtnManuDateWrite_Click); + // + // layoutControlItem8 + // + this.layoutControlItem8.Control = this.BtnManuDateWrite; + this.layoutControlItem8.Location = new System.Drawing.Point(609, 63); + this.layoutControlItem8.MinSize = new System.Drawing.Size(89, 26); + this.layoutControlItem8.Name = "layoutControlItem8"; + this.layoutControlItem8.Size = new System.Drawing.Size(89, 68); + this.layoutControlItem8.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem8.TextVisible = false; + // + // BtnSerialNoWrite + // + this.BtnSerialNoWrite.Appearance.Font = new System.Drawing.Font("Tahoma", 10F); + this.BtnSerialNoWrite.Appearance.Options.UseFont = true; + this.BtnSerialNoWrite.Location = new System.Drawing.Point(616, 70); + this.BtnSerialNoWrite.Name = "BtnSerialNoWrite"; + this.BtnSerialNoWrite.Size = new System.Drawing.Size(85, 63); + this.BtnSerialNoWrite.StyleController = this.layoutControl2; + this.BtnSerialNoWrite.TabIndex = 6; + this.BtnSerialNoWrite.Text = "Apply"; + this.BtnSerialNoWrite.Click += new System.EventHandler(this.BtnSerialNoWrite_Click); + // + // layoutControlItem10 + // + this.layoutControlItem10.Control = this.BtnSerialNoWrite; + this.layoutControlItem10.Location = new System.Drawing.Point(609, 63); + this.layoutControlItem10.MinSize = new System.Drawing.Size(89, 26); + this.layoutControlItem10.Name = "layoutControlItem10"; + this.layoutControlItem10.Size = new System.Drawing.Size(89, 67); + this.layoutControlItem10.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem10.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem10.TextVisible = false; + // + // fmxInventoryConfig + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(720, 425); + this.Controls.Add(this.layoutControl1); + this.IconOptions.Icon = ((System.Drawing.Icon)(resources.GetObject("fmxInventoryConfig.IconOptions.Icon"))); + this.Name = "fmxInventoryConfig"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Inventory Config"; + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.gbSerialNo)).EndInit(); + this.gbSerialNo.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).EndInit(); + this.layoutControl2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.nSerialNo.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbMDate)).EndInit(); + this.gbMDate.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).EndInit(); + this.layoutControl3.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.nManuDate.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup Root; + private DevExpress.XtraEditors.GroupControl gbMDate; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraEditors.GroupControl gbSerialNo; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraLayout.LayoutControl layoutControl2; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraEditors.TextEdit nSerialNo; + private DevExpress.XtraEditors.LabelControl lbSerialNo; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4; + private DevExpress.XtraEditors.SimpleButton btnClose; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + private System.Windows.Forms.Timer tmrDisplay; + private DevExpress.XtraLayout.LayoutControl layoutControl3; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2; + private DevExpress.XtraEditors.LabelControl lbMDate; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9; + private DevExpress.XtraEditors.SimpleButton BtnManuDateWrite; + private DevExpress.XtraEditors.TextEdit nManuDate; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8; + private DevExpress.XtraEditors.SimpleButton BtnSerialNoWrite; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem10; + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxInventoryConfig.cs b/LFP_Manager/Forms/fmxInventoryConfig.cs new file mode 100644 index 0000000..71cd196 --- /dev/null +++ b/LFP_Manager/Forms/fmxInventoryConfig.cs @@ -0,0 +1,232 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; +using DevExpress.XtraEditors; + +using LFP_Manager.DataStructure; +using LFP_Manager.Function; +using LFP_Manager.Controls; +using LFP_Manager.Utils; + +namespace LFP_Manager.Forms +{ + public delegate void InvDataUpdateEvent(object sendor); + public delegate void InvDateCmdEvent(int sId, int mode, int index, int flag, + ref CsDeviceData.DeviceModuleData.DeviceInforation wData); + public delegate void InvDateCmdEventBySnmp(int mode, string wData); + + public partial class fmxInventoryConfig : DevExpress.XtraEditors.XtraForm + { + #region VARIABLES + + int SystemId = 0; + int CmdResult = 0; + CommConfig Config; + CsDeviceData.DeviceModuleData ModuleData; + DeviceInforation wInvData; + + public event InvDataUpdateEvent OnUpdate = null; + public event InvDateCmdEvent OnCommand = null; + + public event SendDataUartEvent OnSendUartData = null; + + #endregion + + #region CONSTRUCTORS + public fmxInventoryConfig() + { + InitializeComponent(); + } + public fmxInventoryConfig(int sId, ref CommConfig aConfig, ref CsDeviceData.DeviceModuleData mData) + { + InitializeComponent(); + + SystemId = sId; + ModuleData = mData; + Config = aConfig; + + switch (Config.CommType) + { + case csConstData.CommType.COMM_UART: + nManuDate.Enabled = true; + BtnManuDateWrite.Enabled = true; + nSerialNo.Enabled = true; + BtnSerialNoWrite.Enabled = true; + break; + case csConstData.CommType.COMM_RS485: + nManuDate.Enabled = false; + BtnManuDateWrite.Enabled = false; + nSerialNo.Enabled = false; + BtnSerialNoWrite.Enabled = false; + break; + case csConstData.CommType.COMM_SNMP: + nManuDate.Enabled = false; + BtnManuDateWrite.Enabled = false; + nSerialNo.Enabled = false; + BtnSerialNoWrite.Enabled = false; + break; + default: + break; + } + + tmrDisplay.Enabled = true; + } + #endregion + + #region INIT DATA + void InitData() + { + wInvData = new DeviceInforation + { + BMS_SN = new byte[16], + Module_SN = new byte[24] + }; //22.06.30 Byul 32->16, 32->24 + } + #endregion + + #region DISPLAY DATA + + private void DisplayValue() + { + // Manufacture Date + lbMDate.Text = String.Format("Manufacture Date: {0}", ModuleData.Information.ManufacturingDate); + + // Device Address% + lbSerialNo.Text = String.Format("Serial No: {0}", ModuleData.Information.HwSerialNumber); + } + #endregion + + #region TIMER ENVENT + private void tmrDisplay_Tick(object sender, EventArgs e) + { + DisplayValue(); + if (OnUpdate != null) + { + OnUpdate(this); + } + } + #endregion + + #region PUBLIC FUCTIONS + public void UpdateData(ref CsDeviceData.DeviceModuleData mData) + { + ModuleData = mData; + } + + public void RecvData(string result, bool error) + { + Cmd_Result(result, error); + } + + public void Cmd_Result(string result, bool error) + { + if (this.InvokeRequired) + { + this.Invoke(new MethodInvoker(delegate () + { + if (error) + MessageBox.Show(result, "Result", MessageBoxButtons.OK, MessageBoxIcon.Error); + else + MessageBox.Show(result, "Result", MessageBoxButtons.OK, MessageBoxIcon.Information); + })); + } + else + { + if (error) + MessageBox.Show(result, "Result", MessageBoxButtons.OK, MessageBoxIcon.Error); + else + MessageBox.Show(result, "Result", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + } + + #endregion + + #region BUTTON EVENT + + private void btnClose_Click(object sender, EventArgs e) + { + Close(); + } + + private void BtnManuDateWrite_Click(object sender, EventArgs e) + { + if ((nManuDate.Text == "") || (nManuDate.Text.Length > 8)) + { + MessageBox.Show("Check Manufacture Date Format", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + + byte[] crc; + ushort addr = 0x00A3; + int i = 0; + // Normal mode --> Bootloader mode + byte[] sdata = new byte[7 + 8 + 2]; + sdata[i++] = (byte)SystemId; // Dev Address + sdata[i++] = 0x10; // Function Code + sdata[i++] = (byte)(addr >> 8); // Address H + sdata[i++] = (byte)(addr >> 0); // Address L + sdata[i++] = 0x00; // Number of Register H + sdata[i++] = 0x04; // Number of Register L + sdata[i++] = 0x08; // Byte Count + + string str = nManuDate.Text; + byte[] aData = Encoding.UTF8.GetBytes(str); + + for (int j = 0; j < 8; j++) + { + sdata[i++] = aData[j]; + } + crc = csSerialCommFunction.GetCRC(sdata, i); + + sdata[i++] = crc[1]; // CRCH + sdata[i++] = crc[0]; // CRCL + + OnSendUartData?.Invoke(addr, sdata, false, 1); + } + + private void BtnSerialNoWrite_Click(object sender, EventArgs e) + { + if ((nSerialNo.Text == "") || (nSerialNo.Text.Length > 16)) + { + MessageBox.Show("Check Serial Number format", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + + byte[] crc; + ushort addr = 0x0078; + int i = 0; + // Normal mode --> Bootloader mode + byte[] sdata = new byte[7 + 16 + 2]; + sdata[i++] = (byte)SystemId; // Dev Address + sdata[i++] = 0x10; // Function Code + sdata[i++] = (byte)(addr >> 8); // Address H + sdata[i++] = (byte)(addr >> 0); // Address L + sdata[i++] = 0x00; // Number of Register H + sdata[i++] = 0x08; // Number of Register L + sdata[i++] = 0x10; // Byte Count + + string str = nSerialNo.Text; + byte[] aData = Encoding.UTF8.GetBytes(str); + + for (int j = 0; j < aData.Length; j++) + { + sdata[i + j] = aData[j]; + } + i += 16; + crc = csSerialCommFunction.GetCRC(sdata, i); + + sdata[i++] = crc[1]; // CRCH + sdata[i++] = crc[0]; // CRCL + + OnSendUartData?.Invoke(addr, sdata, false, 1); + } + + #endregion + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxInventoryConfig.resx b/LFP_Manager/Forms/fmxInventoryConfig.resx new file mode 100644 index 0000000..eefd1cf --- /dev/null +++ b/LFP_Manager/Forms/fmxInventoryConfig.resx @@ -0,0 +1,4574 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + AAABAAQAICAAAAEAGACoDAAARgAAADAwAAABABgAqBwAAO4MAACAgAAAAQAYACjIAACWKQAAAAAAAAEA + GAAoIAMAvvEAACgAAAAgAAAAQAAAAAEAGAAAAAAAgAwAAAAAAAAAAAAAAAAAAAAAAAD///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////+/v7+/v7+/v7+/v7+/v7+/v7+/v7/ + ///+/v7////////////////////////////////////////////////////////+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7////+/v7+/v3+/v3+/v3+/v7+/f3////////+/v7///////////////////// + ///////////////////////////+/v7////+/v7+/f3+/v7+/v3+/v3+/v3+/v7////7+ff///////// + ///////////////+/v3+/v7////+/v7////////////////////////////////////////+/v7////+ + /v7+/v7////////////////////////7+PbCnHejazCkbTKkbDKlbjSdYTDLrIr////9/Pz+/v7///// + ///////////////////////////////////////////+/v79/fz////BnHSeYjClbjSkbDKkbDOjazDc + x7L49PGkbDKEOACKQwCJQQCHPgCNRwTt49n+/v39/Pz+/v7+/v7///////////////////////////// + ///+/v7+/v79/Pv//v7j0sKHPgCJQACJQQCLRACCNgCufkv////////q3tKOSQePSgSPSwKRTQSHPgCt + e0f////9/Pv+/v7////////////////////////////////+/v7////9/f39/Pv9/PuiaS6JQQCQTQOP + SwKNSAOUUxLz7ef+/f37+Pb////AmnKGOwCQTAKOSQCPSwKHPwDaxa7////8+/r+/v7+/v7///////// + ///////////+/v7///7+/v77+vj////OsJGGPACQTAKOSQCQTAKGPADNr4/////7+ff9/Pv9/fz38u6Z + WhuLQwCPSgGPSgGLRQGcXyH59vP9/fz9/fz////+/v7////////+/v7+/v7////+/v77+vn////u5NqS + Tw+OSAKOSQCPSwKJQACiai/8+vn9/Pz9/f3+///9/Pv////WvqWHPQCQTAOOSQCQTQOGPADDn3j////8 + +/r+/v7////+/v7+/v7+/v79/fz8+/r9/f3////u49mdYSiKQwCPSwGOSQCPSwKKQgDi0L/////9/Pv+ + /v7//v7+/v79/Pz///+seUOIPwCQTAKOSQCOSQKNSAbq39P+/v39/Pz+/v7////////////////////+ + /v7SuJ6WVRiLRQCRTwaQTASSUAeHPgC4jV7////9/Pv+/v7////+/v7+/v79/Pz+/v7r39SOSQeOSgKO + SQCQSwKHPwCsekT+/v/9/Pz+/v78+/r49PDy6uPi0cDDn3yZXB9/MACEOACHPgCGOwCFPACEOgCTURDz + 7Ob9/fz9/f3////+/v7////////+/v78+/r////CnneGPACQTAKOSQCQTAKHPgDYwan////9/Pz38u7o + 2szgzbvTuZ/MrY/St5zeyrTcyLLcx7Hcx7HdybPVvKfl1cX////9/fz+/v7+/v7////////+/v7////9 + /f39/Pz59fObXiCKQwCPSgGPSgGLRAGaXB349PH9/fz+/v/////////////////28e3AmnrEn3rDn3nE + oXu+lnbcxrD////9/Pv+/v7////////////////////+/v7+/v79/Pv////bxa+HPgCPSwKOSQCQTAKG + PADAmnH////8+/r9/fz9/Pv7+ff9/Purd0F/MACGOwCFOgCEOQCEOADj0sH+/fz9/Pz+/v7+/v7///// + ///////////////////+/v79/Pz///+ufkqHPgCQTAKOSQCOSgKNRwPp3M/+/v79/Pv8+/r////YwaqH + PgCSTwaQTAOSTwaHPgDDn3n////9/Pv+/v7////////////////////////////+/v7+/v79/Pz+/v7t + 4tiNSAaNSAKOSQCQTAKJQQCqd0D+/v79/Pv9/fz49fKbXyCMRQGPSwGPSgGLRAGYWRn38+/9/fz9/f3/ + ///+/v7///////////////////////////////7+/v79/Pv////EoHqFOwCQTQOOSQCQTQOHPwDUu6H/ + ///////Dn3iGPQCQTQOOSQCQTAOGPQDWvaT////9/Pv+/v7+/v7///////////////////////////// + ///+/v7////9/f39/Pv59vScYCOLRQGPSwKPSgGMRQGWVhf7+ffu5duNSAaOSQKOSQCQTAKJQQCqd0D+ + /v79+/r+/v7////////////////////////////////////////////+/v7+/v78+/r////cx7GJQgCQ + TAOOSQCQTAKFOwC/mXKzhVSGPACQTAKOSQCPSgKOSQfq3dH////9/Pv+/v7+/v7///////////////// + ///////////////////////////////+/v79/Pv///+wgU6HPgCQSwKOSQCPSgGMRgCMRwCPSgCOSQCQ + TAKGPADAmnH////9/Pr+/v7////////////////////////////////////////////////////+/v7+ + /v79/Pz+/v3u5NuPSwmNRwGOSQCPSgCPSwGPSgGPSQCPSgGLRACYWRn38u79/fz9/fz///7+/v7///// + ///////////////////////////////////////////////////+/v79/Pv////HpoKFOwCQTQOOSQCP + SgCPSgCOSQCQTAOGPQDVvaP////9/Pv+/v7+/v7///////////////////////////////////////// + ///////////////+/v7////9/f39/fz7+fefZSiIQACOSQCNRwCNRwCOSQCGPQCrd0H+///9/fz+/v7/ + ///////////////////////////////////////////////////////////////////+/v7+/v79/Pv/ + ///fzLmSTxWXWBWWVhSWVhSWVhSWVRrq3dH////9/Pz+/v7+/v7///////////////////////////// + ///////////////////////////////////////////+/v7+/v7////38+728e328e328e328Oz49fD/ + ///+/v7+/v7///////////////////////////////////////////////////////////////////// + ///////+/v7////////+/v3////////////////////////+/v3////////+/v7///////////////// + ///////////////////////////////////////////////////////////+/v7////+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7////+/v7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACgAAAAwAAAAYAAAAAEAGAAAAAAAgBwAAAAAAAAAAAAAAAAAAAAAAAD///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7////+/v7+/v7///////// + ///////////////////////////////////////////////////////////////////////////////+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////// + /////////v7+/v7///////////////////////////////////////////////////////////////// + ///////////////////////////+/v7////////+/v7///////////////////////////////////// + ///38u38+vn8+vj8+vj8+vj8+vj8+vj8+vj7+ff////+/v3+/v7+/v7+/v7///////////////////// + ///////////////////////////////////////////////////////////////+/v7+/v7+/v7////7 + +ff8+vj8+vj8+vj8+vj8+vj8+vj7+ff59fK7kmmbXh+cXyCcXyCcXyCcXyCbXyCdYSGWVR3Fon3////9 + /Pz+/v7///////////////////////////////////////////////////////////////////////// + ///////+/v7+/v79/f39/fz///+1iFqXVx2cYCGcXyCcXyCcXyCcXyCbXiCcYCPn2Mv7+fencTqDOACM + RgCLRACLRACLRACLRACKQwCMRQLq3tL////9/Pz+/v7///////////////////////////////////// + ///////////////////////////////////////////+/v79/Pz////Zw6uGOwCMRQCLRACLRACLRACL + QwCNRwCCNQC4jmH////////r39SNRwWOSgOOSgGPSgGPSgGPSgGQTAOIPwCpdD3////9/fz9/f3////+ + /v7////////////////////////////////////////////////////////////////+/v7+/v79/f3+ + /f359vOZWxyLRACQSwKPSgGPSgGPSgGPSgGMRQKXWBn49PD+/fz8+vn////BnHWFOgCQTAGOSQCPSgCP + SgCOSQCPTAKFOwDVvaT////9/Pv+/v7///////////////////////////////////////////////// + ///////////////////////+/v79/Pv////BnXaEOgCQTAKOSQCPSgCPSgCOSQCPSwGGOwDVvKL////8 + +/r9/Pz9/f349fKZXB2KQwCPSgGOSQCOSQCOSQCPSgGLRAGXWBj38+/+/f39/f3+/v7+/v7///////// + /////////////////////////////////////////////////v7+/v79/fz+/v7r39SMRwWNSAGOSQCO + SQCOSgCOSQCPSwGHPgCpdT7////9/Pz+/f3+/v79/Pv////YwquGPACPSwGOSQCPSgCPSgCOSQCQTAGF + OgC+l23////9/fz+/v7////+/v7////////////////////////////////////////////////+/v7+ + ///9/f39/Pv///+qdkGHPQCPSwGOSQCPSgCPSgCOSQCOSAGLRALp3dH////9/Pv+/v7+/v7+/f39/fz/ + //+se0aHPgCQTAKOSQCPSgCPSgCOSQCOSQKLRALn2s3//v79/Pz+/v7///////////////////////// + ///////////////////+/v7+/v7////+/v78+vn////Rt5qGPACQSwKOSQCPSgCPSgCOSQCQTAKFOwC/ + mXL////9/Pz+/v7////////+/v79/fz///7s4deNSAeNSAGOSQCOSQCOSQCOSQCQSwKHPgCnczv+/v79 + /Pz9/f3+/v7+/v7////////////////////////////+/v7+/v7////////9/f38+/r////j08KNSQiN + RgGOSgCOSQCOSQCOSQCPSgCLRACYWhv48/D+/f39/f3+/v7+/v7+/v7////+/v79/Pz////Dn3qFOgCQ + TAGOSQCPSgCPSgCOSQCQSwGGPADSuJ3////9/Pz+/v7////////////////////////+/v7+/v7///// + ///+/v79/Pv////////cx7KPTA2LRQCPSgCOSQCPSgCPSgCOSQCPSwGGPADWvqb////9/Pz+/v7///// + ///////////+/v79/f3+/f359/SbXiCKQgCPSgGOSQCOSQCOSQCPSgCLRQCVVBT18Oz+/f39/fz+/v7+ + /v7////+/v7+/v7+/v7+/v7+/f39/Pz9/Pv////////49PC/mHSKQgCMRQCPSgCOSQCPSgCPSgCOSQCQ + TAKGPQCreEL////9/Pz9/f3+/v7+/v7////////////////+/v79/Pv////axK6FPACPSwKOSQCPSgCP + SgCOSQCQTAKEOQC8lGn////9/Pv+/v7////////////////////////////////////49fLQs5ibXyWH + PgCPSwKQTQOQSwKQTAOQTAKQTAKPSwOOSgOMRQPq3tP////9/Pz+/v7////////////////////+/v7/ + ///+/v39/Pz///+vf0uHPgCQSwGOSQCOSgCPSgCOSQCOSQGLRAHm18n////9/fz+/v7////+/v36+Pb5 + 9fLz7ejo2s3RtpuwgFCNRwN9LQCCNQCHPgCGOwCFOwCGOwCGOwCGOwCFOwCGPAB/MADCnnj////9/Pz+ + /v7////+/v7////////////////////+/v7+/v79/fz///7v5t6PSgiNRwGOSQCPSgCOSQCOSQCPSwGJ + QAClbjX+/f39/f39/f3//v769/XfzbjZw67QtJrEoX67kmq6kGa/mXLDn3rEoHzEoHvEoHvEoHvEoHvE + oHvEoHvDoHvDnnvEoH369/X+/v79/f3+/v7+/v7////////////////////////////////+/v79/Pv/ + ///GpICFOgCQTAKOSQCPSgCPSgCOSQCQTAKGPADQtJf////9/Pz+/v7///////////////////////// + ///////////////////////////////////////////////////////+/v7+//////////////////// + ///////////////////+/v7+/v79/f3+/f36+PadYiSKQwCPSgCOSQCOSQCOSQCPSgGMRgGUVBP07uj+ + /v39/fz+/v7+/v7+/v3+/f39/fz9/Pv7+vj+/f3cyLSXVyGcYCKcXyCcXyCcXyCcXyCdYSKUUxzDn3z9 + /Pz9/Pz9/f3////+/v7////////////////////////////////////////+/v79/Pz////cx7KHPwCP + SgGOSQCPSgCPSgCOSQCQTAKGPAC5kGP////9/Pv+/v7//v7+/v7+/v7+/v79/f39/fz7+feeYyaGPACL + RQCLRACLRACLRACLRACIQACQTAnw59/+/v79/f3+/v7+/v7///////////////////////////////// + ///////+/v7///79/f39/Pv///+xglCGPACQSwGOSQCPSgCOSQCOSQCOSQGKQgDk1MT////9/fz+/v7/ + ///////+/v79/Pz////HpoOFOgCQTAKOSgCPSgGPSgGOSgGQTAKFOwDPs5b////9/Pv+/v7///////// + ///////////////////////////////////////////+/v/+/v79/Pz+/v7w59+PSgiMRgGOSgCPSgCP + SgCOSQCPSwGIQACiajD+/f39/f39/f3///7+/v79/fz+/v7w6OCPSgmNRwGOSQCOSQCOSQCOSQCPSwKI + PwCiaS79/fz9/fz9/f3+/v7+/v7///////////////////////////////////////////////////7/ + ///+/v79/Pv////Ip4WFOgCQTAKOSQCPSgCPSgCOSQCQTAKEOQDOsZP////9/Pv+/v7+/v79/Pv///+x + glGFOwCQTAKOSQCPSgCPSgCOSQCOSgKIQADj08L////9/Pz+/v7///////////////////////////// + ///////////////////////////////+/v7+/v79/f39/f38+vmeZCeJQQCPSwGOSQCOSQCOSQCPSgGM + RQGRTw7z7ef+/v39/f39/Pz////fzLiHPQCPSgGOSQCPSgCPSgCOSQCQTAGFOwC4jF/////9/fz+/v7+ + /v7+/v7////////////////////////////////////////////////////////////////+/v79/fz/ + ///fzLqHPgCOSgGOSQCPSgCPSgCOSQCQTAGFPAC3jF7////9/Pz+/f38+vifZCiJQQCPSwGOSQCOSQCP + SgCOSgGLRQGTURDz7ef+/v39/f3+/v7///////////////////////////////////////////////// + ///////////////////+/v7////+/v79/Pv///+zhVWFOwCQTAKOSQCPSgCPSgCOSQCOSgKJQQDi0cH+ + /v7////JqYeFOgCQTAKOSQCPSgCPSgCOSQCQTAKEOgDNsJH////9/Pv+/v7////+/v7///////////// + ///////////////////////////////////////////////////////+/v7+/v79/fz+/v3w6eGRTQyN + RwGOSQCOSQCOSQCOSQCPSwKJQQChaC7////x6eKRTgyNRgGPSgCPSgCOSQCOSQCPSwGJQQCiajD8+/r9 + /fz9/f3+/v7+/v7///////////////////////////////////////////////////////////////// + ///////////////+/v79/Pz////LrIuFPACQTAGOSQCPSgCPSgCOSQCQSwGFOwDPspW5j2SGPACQSwGO + SQCPSgCPSgCOSQCOSgGJQgDj0sL////9/Pz+/v7///////////////////////////////////////// + ///////////////////////////////////////////+/v7+/v79/f39/fz9/PygZyuJQACPSwGOSQCO + SQCOSQCOSQCOSACOSACNSACOSQCOSQCPSgCPSgCOSQCQTAKFOwC3i13////9/Pv+/v7////+/v7///// + //////////////////////////////////////////////////////////////////////////////// + ///+/v79/Pv////hz72JQACPSwKOSQCPSgCPSgCOSQCPSgCOSQCOSQCPSgCOSQCOSQCOSQCOSQCMRgGS + UA/y6+X+/v39/fz+/v7+/v7///////////////////////////////////////////////////////// + ///////////////////////////////+/v7////+/v79/fz///+1iVuGPACQSwGOSQCPSgCPSgCOSQCP + SgCPSgCOSQCPSgCPSgCOSQCQTAGFOgDNrpD////9/Pz+/v7///////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7+/v79/f3+ + /v3y6+SSUA6MRQGOSgCOSQCOSQCPSgCPSgCPSgCPSgCOSQCOSQCPSwGIQAChaS78+/r9/Pz9/f3+/v7+ + /v7///////////////////////////////////////////////////////////////////////////// + ///////////////////////////+/v79/Pv////NsJGFOwCQSwGOSQCPSgCPSgCPSgCPSgCOSQCPSgCO + SQCOSQGJQQDi0cD////9/Pv+/v7///////////////////////////////////////////////////// + ///////////////////////////////////////////////////////+/v7+/v79/f39/Pz8+/qiai+J + QACRTQSPSwKQSwKQSwKQSwKQSwKPSwKRTgSGPAC2iVr////9/Pv+/f3////+/v7///////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////+/v79/Pv////j08KGPQCHPQCHPgCIPgCIPgCIPgCIPgCHPwCFOgCRTgvy6uP+/f39 + /fz+/v7+/v7///////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////+/v7////+/v79/f3////JqIeufFOzhVezhFaz + hFazhFayhFazhVete1TWvqb////9/fz+/v7///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/v7+/v7+/v3////////////////////////////////////////+/v3+/v7+/v7+/v7///////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////+/v7+/f3+/f3+/fz+/fz+/fz+/fz+/fz+/fz+ + /f3+/f3///////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAgAAAAAABAAABABgAAAAAAADIAAAAAAAAAAAAAAAA + AAAAAAAA//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////v7+/v7+//////////////////////////////////////////////////////////// + /////////////////////////////////////////fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v39/v7+/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////v7+/////v7+/f38/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/////v7+ + /f39//////////////////////////////////////////////////////////////////////////// + ////////////////////////2MCn3Maw3Maw3Maw3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew + 3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Maw3Mex2cOs8uvk/v7+/f39/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+/f39////4tHA2sSs3Mex3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew + 3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mex3Mew3Mex2cKr9vHtqXQ9ikIAiUEAiUEAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAiUEAikMAgzgAq3hH/v39 + /fz8/v79/v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7+/fz8////49PCiUIBiUEAiUEA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAiUIAiUEAi0MAgzkA + nmMq+vj1/v39sYJUhz4AkU0Ej0oBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0oBj0oBkEwDhz0A1buh/////fz7/v7+/v7+/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v39/Pz8/Pr5pGw1iEAAkE0Dj0oBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sBj0sDjEYG49LC////////7OLWkU4PjEYBj0oBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAj0sBikQAmFod9fDq/v39/v39/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////7+/v7+/v7+/v7+/Pv6////za+QhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChjsAuo9l////+/n4+ff1//// + x6aFhDsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAkEwChTwAv5dw/////Pz7/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/f38/v798evik1IV + i0UBj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkoA + j0oBi0QBlVQX8+zl/f39/fz8/fz8/fz8+vbzoGYuiEAAj0sBjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjkoAjkkAjUkBjEgG6NvN/////fz8/v7+/v7+/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////7+/f7+/v7+/fz7////topehjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sChTwA0LWY/////Pv7/v7+/v///Pz7////3sq3iEABjkoC + jkkAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEsC + hz8Ap3I//fz7/fz8/v79/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v39/v///Pz7////3867iEAAjkoCjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEsChz8ApnE5/fz8/Pz7 + /v7+/v7+/v7+/v7+/Pv7////tIZYhjwAkEwBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0sChTwA0rec/////Pz7/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/v79/fz8 + +/r4oWgwiEAAj0sBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + j0kAjkkAjkoAjkkBikQF5dbG/////fz7/v7+/v7+/v7+/v7+/fz8/v7+8OffkU8QjEYBj0oAjkkAjkoA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAj0oBikMAllcb9O/p + /v39/f38/v7+/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/v7+/Pz7////yquLhTsAj0wCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChToAu5Nq/////Pz7//7+/v7+/v7+/v7+/v7+ + ///+/Pz7////y6yNhTsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAkEwBhTsAu5Rr/////Pz7/v7+/v7+/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz8/v7+7+bckU4PjEYBjkkBjkkA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjUkAj0oBi0QBllcb + 9e/p/v39/f38/v7+/v7+/////////v7+/v7+/v79/fz8+vj1oWgwiUEAj0sBjkgAjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkCi0QF5NXG/////fz8/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+//7+/f39 + /v7+/fz7////tIdZhjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkAj0sChj0A0rec/////Pz7/v7+/v7+/////v7+/v7+/////v7+/v7+/Pz7//// + 38y4ikIDj0oCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0sBhz8Ap3I8/Pv5/fz8/v39/v79/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////v7+/v7+/Pz7////3sm2iUIBj0oBjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEsCiD8AqHM+/fz7/Pz8/v7+/v7+/v7+ + /v7+/////////v7+/v7+/v7+/v7+/Pv7////topehTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAkEsChjwA0bWa/////Pv6/v7+/f39/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/f39/fz8+vj2n2UriUEA + j0sBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkoA + jkgBjEYG5tjJ/v7+/f37/v7+/v7+/////////////////////////v7+/v7+/f39/v398uriklETi0YB + j0oAjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oB + i0UAlVYZ8+3m/f79/f38/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/v7+/Pv6////yKeFhTsAkEwCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChjwAvpZv/////Pz7/v/+/v7+/v7+/v7+//////////////// + /v7+/v7+/v7+/v7+/Pz7////za6QhTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTwAuZBm/////Pv6/v7+/v7+/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v79/v7+/fz7/v7+7ePYkU4QjEcBjkkBjkkAj0oAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0QBmFof9e/p/f39/v39 + /v7+/v7+/////////////////////////////////v7+/v7+/v7+/fz8+/n3o2s1iUEAkEsBjkkAjkkA + jkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAjkkCikQD5NPD + /////Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v79/Pv7/v/+ + sIFShjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAj0sChj0A1Lqg/////Pz7/v/+/v7+/////v7+/////////////////////////v7+/////v7+ + /v7+/fz7////4tHBikMEjkkCjkoAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0sBiEAApW43/Pv5/fz7/v39/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/////Pv6////2sawiD8Aj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEsChz8AqnhE/v79/Pz7/v7+/v7+/v7+/v7+//////// + /////////////////////////v7+/v7+/v7+/v7//fz7////uI1hhj0AkEwCjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0wChj0AzrCT/////Pv6/v7+ + /f39/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/v7+/f38/f389vLtm18jikMAj0oBjkkAjkkA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkoAjUgBjUgH6NzO + /v7+/fz8/v/+/v7+/////////////////////////////////////////////////v7+/v7+/f38/v39 + 8uvjlFUWi0UBj0oBjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0oAjkkAj0oBjEYBlFMW8enh/v79/fz7/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7//v7+//7+/f39 + /Pv6////t4thhjwAj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAkEwChTsAwJp0/////fz6/v7+/v7+/v7+/v7+//////////////////////////// + /////////////v7+/////v7+/v7//Pv7////zrGUhjwAj0wCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwChjwAt4xg/////Pv7/v7+/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7//v3+/Pr6////0bWYhj0Aj0sCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkkAjkkAj0sBi0MAmVsg9vHs/v39/f39/v7+/v7+//// + /////////////////////////////////////////////////v7+/v7+/v7+/v7+/f38/Pr4pW85iD8A + kEsCjUkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + jkoCikIC4tHA/////Pv7/v7+/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7++/r5////38y4i0UHjUgBjkoA + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0wC + hz4A1r6m/////Pz7/v7+/v7+/////v7+//////////////////////////////////////////////// + /////////v7+/v7+/fz8////49LCjEYFjkkCjkoAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBiEAAomoy+/n2/fz7/v39/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v7+/v7+ + /v7++/r5////5NTCj0wQi0UAj0oAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAkEwChz8ArHpI/v7+/fz7/f79/v7+/v7+/v7+//////////////////// + /////////////////////////////////////v7+/////v7+/v7+/Pz7////upBnhTwAkEwCjUgAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0wChToAyqyM + /////Pv6/v7+/v7+/////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/////v7+/v7+/v7+/f39/Pr5////4c+9kE0SikQAj0sBjkkAjkkAj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjUgCjkoJ6d3R/v7+/f38/v7+ + /v7+/////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v39/f399O3nl1gci0UBj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oAjkkAj0oAi0UBk1ET8Ofe/v39/fz7/v7+/v7+/////v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////////v7+//7+/v7+/Pv6/f38////1LuijkkLi0QA + j0sBjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChjwAwp14/////Pv6/v7//v7+/////v7+//////////////////////////////////////// + /////////////////////////////////v7+/v7+/Pv6////0baahj4AkEwCjkkAjkkAj0oAj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwBhTwAtYlc/////Pv6/v7+ + /v7+/v7+//////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/////v7+/v7+/v7+ + /v79+/v5////+/n1wJp1iEEAjUYAj0wBjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBikMAnWAn9/Lu/fz7/f39/v7+/v7+/v7+//////////// + /////////////////////////////////////////////////////////////v7+/v7+/v7+/v7+/Pz7 + /Pv5p3I9iD4AkEwCjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAj0oCiUEA3826/////Pv6/v7+/v7+/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/////////v7+/v7+/v79/Pv6/f3+////6dzPpW89hjwAj0oBj0oBjkkAjkkAj0oAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAj0sChz4A2MKq//// + /Pv6/v7+/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz7////5dbGi0UGjkkCjkoAjkkAj0kAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBiEAAoGct+vj1/fz7/v39/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/v7+/////////v7+/v7+/f39/fz7/fz8////+vj0xaOCjkkJhz8A + j0sBj0oAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAkEwChz0Arn1L/////Pv6/v7+/v7+/v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/////v39/v/+/Pv6////vZZuhjsA + kEwDjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUgA + j0wChDoAyKiI/////Pv6/v7+/v7+/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+///////////+/v7+/v7+/v79/Pv6 + /f38////////28ayn2cyhTwAjEcAj0sCjkkAj0oAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjUcCjkoK69/U/v7//fz7/v7+/v7+/////v7+ + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/f39/f399fDrl1kci0UBj0sBjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkoAjEUAkU4P7+bc/v79/fz7/v7+/v7+/////v7+//////// + /////////////////////////////////////////////////////////v7+/////v7+/v7+/////v7+ + /////v7+/v7+/v7+/fz8/Pv6/v7+////////4M68qnhHiD8AiUEAj0sCj0oAjkkAjkkAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkE0DhjwA + xaJ//////Pv7/////v7+/v7+/v7+//////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/Pv6////07qghz4Aj0wDjkkAjkkA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwBhjwAsoRU + /v///Pv6/v7+/v7+/v7+/////////////////////////////v7+/////v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+///+/v7+/v7+/////v7+/v7+/v79/fz8/Pv6/fz8////////+/n32sSvqnZHikIAhz8AjkoA + j0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjUkAj0sCikMAnmMp+PXx/f38/f39/v7+/v7+//////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/Pz7/f38qXVBiEAAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAj0oBiD8A3cm0/////Pv6/////f39/v7+/v7+//////////////////// + /////////////////////////////v7+/////v7+/v7+/v7+/v39/fz7/Pv6/fz7/f7+//////////// + 7OHWyaiHn2UviD8Ahz4AjkkAj0sCjkkAjkkAjkoAjkoAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wDiEAA28Wv/////Pz7/v/+/v7+ + /////v7+//////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////v7+/v7+/fz7/v//6NrNjkkJjkkCj0kAjkkAjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBiUIAn2Ur+fb0/fz7/f39 + /v7+/v7+/////////////////////////v7+/v7+/v7+/v7+/f38/fv6/fz7/fz6/Pv6/fz8/fz8/v7/ + /////////////////Pz66dzPza6Qq3dGkE0Mhj0AikMAj0sCj0sCj0oAjkkAjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + kEwChz4AsIJS/v7//Pv7/v7+/v7+/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v7+/////Pv6 + ////v5lzhTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkgAkEwBhDoAxqSC/////Pv6/v7+/v79/v7+/v7+/////////////////v7+/////v7+/v7+ + /////////////////////////////v788+3l5NTE07icuY5moWgvj0sIhz4AiUIAj0oAkE0FkU0Dj0sC + kEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsB + kEsBkEsBkEsBkEsBkEsBkEsBj0sBkEwCjEgBkE4O7eTa/v7+/fz8/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/f38/f389vHsmVsgikMBj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAjEYBkEwN7ePY/v7+/fz7/v7+/f39//// + /v7+/////////////v7+/v7+/f38/v//28ayxqSAy6uKxKF6vJNssoReqHNEmVwlkEwKhjwAgTQAgDQA + hDoAiEAAikMAiUIAiEEAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAA + iEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiUIAgjYAx6WD/////Pv6 + /v7+/v7+/////v7+//////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/////v7+/v7+/Pv7////1r2khz4A + j0sCjkkAjUkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + kEwBhjwAsYFR/////fz7/v79/v7+/v7+/////////////////v7+/v7+/v39/v7+4M27za+O0bWW0LOU + z7OV0LOZ0bac07mg1ryk2MCo2cKr2cKs2MGq2MCp18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co + 18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co + 18Co18Co2MCo1r+n2MGq+vf0/v39/v79/v7+/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/v7+/Pv6/v39rHpIhz4Aj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0oBiUEA3May/////Pv6/////f39/v7+/v7+//////// + /v7+/////v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7//v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz7/v7+6d3RjUkJjUgBj0oAjkkA + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBikIAnWIn + +PXx/fz8/f39///+/v7+/////////////////v7+/////////v39/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz8/fz7+/n3+/n3+/n3+/n3+/n3+/n3 + +/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3/Pr4/fz7/fz8 + /fz8/v7+/////v7+/////v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v7+/Pv7////wZx2hDsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAkE0ChjwAxKF8/////Pv6/v7+/v7+/v7+/v7+/////v7+/////v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v///v7+/////v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/f39/f389/Ltm14iiUIAj0oBjkkAjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkoAjUgCkE0N7OHW/v7+/f38 + /v7+/v7+/////v7+//////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/f79/f39+vj20LSYzrCSz7GUzrGTz7GTz7GTz7GTz7GTz7GTz7GT + z7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTzrGTzrGTza+S0LSY+vj1/v7+/v79/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v7//Pz7 + ////2cKriD8Aj0sCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAkEwChz8Ar35O/v7+/fz8/v7+/v7+/v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/v7+/fz7////yaiIgDMAhz0A + hTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhjsAhTsAhDsAhz4A + fS0AtIdb/f38/Pz8///+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+/v7+/fz7/v//rn1Khz0Aj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sCiEAA2MGq/////Pz7/v///v7+/v7+ + /v7+/////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v7+/f38/v797+bdkU8PjUkDkU4Fj0wDkEwDkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0D + kE0DkE0DkE0DkE0DkEwDkE0DkU4FjEcFmVwe9/Pu/v7+/v38/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7//fz7/v7+69/UjkoL + jUgBj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + j0sCikMAm18j+PXw/f39/f39/v7+/v7+/////v7+//////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/fz7////tIZYhj0AkEwCjkgAjkkAj0oAjkkAjkkA + jkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAj0oAjkkAjkkAj0sChj0A0rec/////Pv7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/////Pv6////xKF9hTsAkEwCjkkAjkkAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTsAw596/////Pz7/v7+/v7+/v7+//////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/fz7////3sq3 + iUIAjkoCj0kAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkA + jkkAj0wBiD8AqHM+/fz7/Pz7/v7+/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v3+/v39/fz8+PXxnWIpiUIAj0sBjkkA + jkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkoAjUgBjkoK + 6t7S/v7+/fz8/v7+/v7+/v7+/v7+//////////////////////////////////////////////////// + /////////v7+/v7+/f39/f38+vj1oGgviUEAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkgCjEYH5tjJ/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /v7+/v7+/Pv6////2cStiEAAj0oCjkkAjkkAj0kAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkgAkEwChz4ArHpH/f38/fz8/v7+/v7+/v7+//////////////////////// + /////////////////////////////////v7+/v7+/v7+/v7+/fz8////y6yNhTwAkEwCjkkAjkkAj0kA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTwAvZRs//// + /Pv7/////v7+/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/v7+/Pv7/v7+r4FQhz0AkEwBjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkgAj0kAkEsChz4A17+n/////Pz7 + /v7+/v7+/v7+/v7+/////////////////////////////////////////////////////v7+/v7+/f38 + /v798enfklISjEYBj0oBjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAj0oBi0QAl1gb9O/p/fz8/v38/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/fz8 + /v7+7ePakE0NjEcBj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAj0sCikMBml0i9/Pu/f39/f39/v7+/v7+//////////////////////////////////// + /////////////v7+/v7+/v7+/v7+/Pz7////toldhj0AkEwCjkkAjkkAj0oAj0kAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjUkAjkkAj0sChTwA0baa/////Pv7/v7+/v7+/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+//7+/Pv6////x6SDhTsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjUgAjkkAkEwChTwAwZx1/////Pv7//7+/f39/v7+ + /v7+/////////////////////////////////////v7+/////v39/v7+/fz7////4M67ikICj0oCjkoA + jkgAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0sBiD8A + pnA8/Pv6/fz7/v7+/v7+/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v79/fz8+fbznmMq + iEEAj0sBj0kAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + jkoAjUkCjUgI59rM/////fz8//7+/f39/////v7+/////////////////////////////////////v7+ + /v7+/v39/f38+vj1oWgwiUEAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0kAjkkAj0kAjkkCi0QG5dXF/////fz7/v7//v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////v7+/v///Pz7////3cm1iEAAjkoCjkkAjUgAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChz8AqndD/fz7/fz7/v7+/v7+/v7+//////////// + /////////////////////v7+/v7+/v79/v7+/Pz7////y6uMhTwAkEwCjkkAjkkAjkoAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTsAu5Fn/////Pz7/v7//v7+ + //7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7+/Pz7////s4RVhjwAkEwCjkgA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkkAj0wChz4A + 1bui/////Pz7/v7+/f3+/v7+/v7+/////////////////////v7+/////f39/v7+/f38/v398Ojfk1ES + jUYBj0oBjkkAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + j0oBi0UBllYa8+zl/fz9/v38/v7+/v7+/v////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7//f38/v797+XckE0OjEYAj0oAjUgAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAj0sBi0QBmVoe9vHr/f39/f39///+/f39/////v7+//////////////// + /////v7+/v7+/v7+/Pz7////tYldhj0AkEwCjkkAjkkAj0oAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0oAjUkAjkkAj0wChTsA0bWZ/////Pv6/v7+/v7+/v7+//7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/v7+/Pz7////yKiGhDoAkEwDjkkAjkkAj0oAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkgAjkkAkEwChjwAv5dw/////Pv6 + /v7+/v7+/v7+/////////////////v7+/v7+/v7+///+/fz7////4dC/ikMDj0oCjkkAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wCiD8ApW85/Pv5/fz7 + /v79/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/v39 + /fz8+/j1oGYtiUEAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAjkoAjkkCjEcG5tjK/////fv7//7+/v7+/v7+//7+/////////////v79/v7+/f39/fz8 + +/r4o2oziUAAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0oAjkkCi0UF5NTE/////fz8/v7+/v7+/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////v7+/v7+/fz7////3su4iUEBj0sCjkkAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEwChz8AqHRA/f38/fz7/f39/v7+/v7+ + /v///////v7+/v7+/v7+/v/+/Pv7////za+RhTwAkEwCjkkAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkE0ChjwAu5Jo/////Pz7/v7+/v7+/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/fz7////tIdZ + hjwAkEwCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + jkkAj0wChjwA0rec/////Pv6/v7+/f7+//7+/v7+/////v7+/v7+/f38/v7+8erilFITjEYBj0oBjkkA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0UAl1YZ + 8+3m/f39/f39/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/fz8/v398Offk1ISjEcBj0oAjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBi0QBl1ga9O7n/f38/f39/v7+/v7+/////v7+/v7+ + /v7+/Pv6////t4tfhjwAkEwCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0oAjkkAjkkAkEwChz4A0LWZ/////Pz7/v7//v7+/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+/v7+/Pv7////zK2Ohj0AkEwDjkkA + jkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkgAkEwChjwA + u5Nq/////Pv6/v7+/v7+/v7+/v7+/v7+/Pz7////4dC+ikMCj0oCjkkAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wCiEAAp3E7/Pv5/fz7/v79/v7//v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/////v7+/fz7+/j2o2sziUEAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkAjkkAjkoAjkkCjEcG5dbH/////Pz7/v7+/v7+/v7+/v39/fz8+/n3pG00iUEA + j0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0kA + jkkCikQE49PC/v7//fz8/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////4c+9iUICj0oCj0kAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBiEAAp3E7/Pv5/fz8 + /v79/v7+/v7+/Pv6////zK+Qhj0AkEwCjkkAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkgAkE0ChTwAuY9j/////Pv6/v7+/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/v7+/v7+ + /Pv6////t4xghjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAjkkAkEwChj4Az7OX/////Pv7/v7+/f38/f398erilFQVi0YBj0oBjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0UBlVUW8+zl/v39/f39 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/f38/v7+8+zllFQVi0UBj0oAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0sBi0UAlVUX8uzk/v39/fz8/Pz7//// + t4xhhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oA + jkgAjkkAj0wChjwA0LOX/////fz7/////v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v///fv7////zrGU + hjwAj0wCjkkAjUkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChTwAuI5k////+/r5////4tHAiUIDjkoCj0oAjUkAjkoAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0wCiUAApW84/Pv6/f38/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v///v7+/f38+/r4pG02iEAAj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0kAjkoCikMD4tC//v79+vj1pG02hz8AkEsBjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkkCi0QF49TD + /////fz8//7//v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/////fz8////49TEi0UFjkkCj0oA + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBiEAA + oWkx////zrGThTsAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkgAkEwChj0AupBl/////fz8/v///v7+/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/v/+/fz8////uZBkhj0AkE0CjkgAjUkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAjkkAjkkAj0sAiEAAwZ12m18iikIAj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjEYBlVYX8uzl/v79/v39/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/f39/v398+zmllYXjEYBj0oBjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAjkkAjkkAikMAjEYAjkkA + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjkgAjkkAkEwC + hj0Az7SX/////fz7//7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//7+ + /fz7////0bWZhz0Aj0wCjkkAjUgAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0oBjkoAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAjkkAjkkAj0wCiEAApW86/Pv5/fz8/v7+//7+/v7+//7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+//7+/v7+/fz8/fz7p3I+iD8Aj0wCjkkAjkkAjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAjkkAj0kCikQF49PD/////Pz8//7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+//7+/fz8////5dbH + jEYHjkoCj0oAjkkAj0kAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oA + jkkAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChj0AuI1i/////fv8/v/+/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/v7+/v///fz7////vJRqhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oBjEUBlFQW8uri/v7+/f39/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/f39/f399O7ol1kci0QBj0sB + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjUgAjkkAj0wChj0AzbCT//// + /Pz8/v7//v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/Pz7////07mfhj0Aj0wCjkkAjUgAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjkkAjkkAkEwCiEAAomw0/Pr4/f39/v7+/v7+/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////v7+/v7+/fz8/fz8qHNAhz8AkEwCjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkkCiUIC4dC+/////fz7/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz8////5tjJi0YFjUgCj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAkEwChTwA + t4tf/////fz7/v7+/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/v7+/fz7////vZZuhTsAkE0CjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0oBi0YBlFMT8eri/v7+/f38/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v39/f399vHs + mVseikQAkEsBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkgAjkkAkEwChj0Aza+Q/////Pv6/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/Pz7////1Luhhz4AkEwCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + j0sAiEAAo2w0/Pr4/fz8/f39/v7+/v7+/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/v7+/v79/fz7/f38qndDhz8AkEsB + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAjkkAjkkAjkkBi0QD4c+9/////Pz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/fz7/v7+6NvNjUkIjUgBj0kAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwBhTsAt4xf/////Pv6 + /v7+/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/Pv6////wZt2hTsAkEwBjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0oAi0UAlFIT8eri/v39/fz8/v7+/f39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/v7+ + /f38/fz89vHtmVsfikMAj0sAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEsChDoAy6uN/////Pv6/v7+/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/f3+/v7+/Pv7////1r6lhj0Aj0oBjkkAjUkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sAiEAAoWkx + +/n3/fz8/f39/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v39/fz7/v7+ + rXtJhj0AkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oBjkkAj0oBjkoCiEEA4M68/////fz7/v7+/v39/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////f39/v7+/fz7/v7+69/SjkgJi0UAjkgAjUcAjUgAjUgAjUgAjUgAjUgAjUgAjUgA + jUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUcAjUcAjkoAhDkAtYlb/////Pz6/f7+/v7+/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/v39/v7+/Pz7////xKF9jEcSlVQW + k1IUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUk1IUlFMV + kU8TmVoj8ejg/v39/fz7/v7//f39/v////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v///f39/f38/Pv67+bd8Ofe8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off + 8Off8Off8Off8Off8Off8Off8Off8Off7uXd9O7o/////f39/v7+/v7+/v7+//7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v////7+/v7+/v7+/v7+//////////////////////// + /////////////////////////////////////////////////////////////////////////v39/v7+ + ///+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////7+/v////// + /////v7+/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v79/////////v7+/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/////v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAEAAAACAAABABgAAAAAAAAgAwAAAAAAAAAAAAAA + AAAAAAAA//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v79/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////9/Lt9/Pu + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Pt/v7+/v79/v7+/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v79/v799/Ls9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Pt9/Lt/v39pm80omkso2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2svnmMrzrGR/////fz7//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/fz8//// + 1bygnGAqo2svo2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2svnWEruY9i/fz8wJpwkUwEiUIAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0UAiUAAlVQT7uTZ + /v39/fz8/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f38/v7+9O3nmFkViD8Ai0UAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAikMAi0MA3sq1/v7+/fz8wJhviD8AkU0Fj0sCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkU0EiD8AuItb/////f38/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7////vZNniD8AkU0EkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCj0sCkU4EiUAAuY9h + /////Pn4/v7+9e/pnF8ei0UAj0oBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0MA3cix/////fz7//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////Pz7////49G/j0oHjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEYBl1cU8urj/v39/fv6+vf0//// + 1LqfikIAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoAj0sBikIAoWcq9vLt/fz7/v39/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /f38+/n3p3A0iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEAzrCQ/////fz7/v7+/fz7/fz7+/n3q3hBiUAAkEsC + j0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiEAAyKaB/////fz7/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/Pz7////z7GRiUEAkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oBikIApnA0/fz7/v39/v7+/////////f38////6NrMkEwHjUgBjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoA + jUgBlFIO7uTa/////f38//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz8/v398OfellYTjEYBj0oBj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgB + jUYA4tG+/////fz7/////v7+/v7+/////fz8////wJpvhz4Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsCiD8As4RR/fz7 + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v38////uY9ghz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8Au5Fk/////f38/v7+ + /v7+/////////v7+/fz8/v389e/pnmMmi0MBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCi0QB3Mav/////fz8/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/Pz8////4tG+jUgCjkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0UAmFkW9e/o/v7+/f38//////////////////// + /////fv6////17+miUEAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikMAoWgp+vfz/v7+/v79//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f39/fz8+/j2pW4z + iUAAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAj0oBiUEA0ria/////fz8/v7+/v7+/////////////////v7+/v39/v39/v/+ + sH9LiEAAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoAj0sCiD4Ax6Z//////fv6/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////7+/v7//fz8////yqqHiD8Aj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0sCiUIAqXU7/fz7/v39/v39/////////////////////////////v7+/fz7/v7+6t3PkU4NjkgCjkoB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0oAjUcBkU0N7ODU/////f39/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v///f38/v7+7+bdlVMOjEYBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkBjUgB5dXG//// + /f38/////v7+//////////////////////////////7//fz7////w551iD4AkEwCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sB + hz4Ar35J/v39/fz8/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v39/fz7////tolYhz4Aj0sDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBiEAAvZZq/////f37/v7+/v7+//////// + /////////////////////v7+/////f39/v7+9vHsnmMki0QAj0sAj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oCi0QB2cKo//// + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz8//// + 3su3jUcDjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBmlsZ9O7n/v79/f38//////////////////////////////// + /////////v7+/v7+/fz6////2cGpikIBj0oDjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBi0MAn2Qn+PTw/v79/f38/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f39/fz8+vf0omosiUEAj0oBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sCiD8A0reZ/////fz7/////v7+//////////////////////////////////////////// + /v7+/fz7/Pv6sH9KiD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0Aw594/////fz7//7///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/Pz7////yqmGiUAAj0sCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUEAq3hA + /Pz6/f38/v39//7+/////////////////////////////////////////////v7+/////f37////7OLW + k1EOjUcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoBjUcCklAO6t7Q/v7+/fz7/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////f39//7/7ePYk1ENjUcAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUcBj0sG6NrL/////fz8/v///v7+ + /////////////////////////////////////////////////v7+/v7+/fz7////xqR+hz4Aj0sCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEsBiUEAsIFN/v79/v39/v3+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v79 + /Pz7/v7+s4RQiEAAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBhz4AwZty/////fz8/v7///7+//////////////////// + /////////////////////////////////////v7//v39/v399/PuoWgrikIAj0oBj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iEAA176j/////fz7//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/fz8////2sSti0QBjkoC + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0kAj0sBi0QAm14d9vHr/v79/f39//////////////////////////////////////////// + ///////////////////////+/////fz8////3MawikMBj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCi0QBnGAi9O7n/v38 + /fz8/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////f39/v39+fbzoGcoikIAj0sBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iUEA1buf/////fz8/v7+/v7+//////////////////////////////////////////////////////// + /////////v7+/f79/fz8/f39soNPhz4Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz0AwZxz/////f38/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/Pz7////x6V/iD8AkEwBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wBiEAArHpD/v7+/v38/v7+ + /////////////////////////////////////////////////////////////////////////////v7+ + /f38/v7+69/SlFIPjUcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkgBkEwG6dvN/////fz8//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////Pz7/v397ODUlFMRjUcCj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBkE0I6NvM//7+/fz8/////v7+//////////// + /////////////////////////////////////////////////////////////////////fz7////yKaB + hz0AkEwDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sCiUEArXtG/Pv5/fz7/v39/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v///f38////sH9K + hz8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0wChz8AwJlv/////f38/v7+/v7+//////////////////////////////// + /////////////////////////////////////////////v7+/v7+/f39/f389/Puomgti0MAj0sCj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0sDiD8A1r2i/////fz7/////v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/f38////18ClikMAj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0oBi0QAnmIj9vHs/v39/v39//////////////////////////////////////////////////////// + /////////////////////////////////////v7+/fz8////3sq0jEYAjkoCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAi0UA + nWAf9vHs/v7+/v79//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/f38/f389vHsn2Qli0QBj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCikIA2MGo//// + /fz7/////v7+//////////////////////////////////////////////////////////////////// + /////////////////////////////fz8////tYhWhz4Aj0wBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiD8AwJpw/v7+/fz7 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////+/////fz7////xKF6hz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wBiEAAsH9L/////f38/v79/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////fz7/v797uXblVQVjEYBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkCjkkG59jJ/////f38/////v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v///f38//// + 6t3PkU4IjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgBkU4J6t7Q/v7+/fz8//////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz7////yqqGiEAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUEAqnY9/Pr4/v39/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////+/v39/fz7/fz7r39KiUEAj0sCj0kA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEwChz0Aw553/////fz8/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f39/v79+/n3omor + ikEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkoAj0sCiEAA0raY/////fz6/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7//fz7////1ryiiUIAj0oCjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikMBnmMm + +PTw/v39/f39//////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz7////38u2i0QEjkoDjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0kAj0sBjEUAmVwb9e/p/v7+/f38//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////f38/v7+9vHsnF8eikMAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA2MCl/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/fz8/v7+t4pZiD8AkEwCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz4A + vpVq/////fz7/v/+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /Pz7////wJpwhz0Aj0wDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAAr39J/v7+/v39/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////f39////8urillcTjEYAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUgCjkgE5dXE/////fz7 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////fz8////59nLkEsHjUgB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoBjEcBk1AN7OLW/v///fz7//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/Pz7////za6OiEAAj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBiUEAqnY8/f38/v39/v3+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////f39/fz8/fz7rHlCiUEAkEsBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iD8AyKaB/////fz7/v///v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v79 + /fz7+fXypW0xiUEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEA0bWX/////fz8/////v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/fz7////z7OTikIAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBikMAn2Yl+vf0/v7+/f39 + //7///////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/////fz7////4tG+jEYC + jkoBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oBjEUCl1gY8+vk/v79/fz7//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////f38////7eLWlFEOjEcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkoBi0QA28av/////fz7/v7//v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v79/fz7/v7+uY5fiEAAj0wCjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEsCiD8Auo9h/////fz8/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v79/fz8+/r4rHlE + iUEAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBiD8As4RR/f39/v39/v7+///+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7//f38/v7+7+fdl1cUjEYBjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBjkgB + 4tC+/////f38/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v///v7+/Pz7////wp51hz4Aj0sCj0kAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjUcBk1EN7+Xb/////f39/////v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////fz8////z7GRhz4Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAp3E4/Pv5/v38/v39 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+//7+/fz7////3ciwjEUAjkkBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0Ax6WA//// + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/f39/fz7+vj1qHI4iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAkEsCiD8Az7GR/////f38/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/////fv7////7OHUlVQWjEYBj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikMAomks+PPv/v39/v79//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/fz7 + ////5NPBj0oGjkgBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBjEYAl1gU8uri/v7+/fz8//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7//f38////8uvj + n2QoiUEAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCi0QB38u2/////fz7/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f38////u5Jlhz0A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBiD8AupBi/////fz8/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////fz8/v7/+PTvq3dAiD8AkEwBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0wCiEAAt4pa/v7+/f38/v79/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/fz8/v398erimVwcjEUBj0sBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkBjUgE4M66/////fz7/////v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/////fz8////+vj1rHpFiD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjUcBlVQR + 7+bd/v7+/f39//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/fz7////0LSUiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikIAo2sv + +/n4/v39/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v39////+/n2tYhXhz4Aj0wDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0AyquI/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/fz8/fz7qHM5iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4Ay6uJ/////fz7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+///+/v7+/fz7////+vf0 + rXtIikIAj0sDj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sBikIAo2wx+PXx/f38/f38/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////Pz7////4tLAjkgHjUgCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBllYS8Oje/v7+/f38//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////fv7////9/Puq3hChz4Aj0sBj0oAj0kA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkoBi0UA4M24/////fz7//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/Pz6 + ////vpZqiD4Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AuItc/////fz8/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////7+/////v7+/fz7////7+XaomoxiEAAkEwDj0oAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwC + hz4AtolZ/////fz8/v3+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////f39/v7+9vHsnGAdi0MA + j0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkCjEYB38y3/////fz8/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /v///v39/Pz7////38y3mFkciUAAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEYDllYX7+bc/v7+/f38 + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/fz7////1LqeiUEBj0sDjkoAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoA + j0sBikIApGww+vj1/v39/f39/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////////Pv6////////y6yJ + j0sEikMAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiD8Azq+O/////fz7//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v39/fz7/Pr5qnY9iD8Aj0wCj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AzK2M + /////Pz7/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/////v7+/fz7////8+zks4NTiUEAjUkAkEsCjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAkEsBiUEApnA0/fv6/v39/f79/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v///f38////5tjJkUwIjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYBlFIP7uTa/v7+/f38//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////v7+/fz7////////3Mixm14hiEAAj0sCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjkkCjkkG4c+7/////fz7/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //7+/v7+/fz7////v5lviD8Aj0sDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUAAtIZV/////v39/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+///+/v39 + /fz8////+PTvvpZujUgDikQAkEwDj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4AuI1d//// + /fz7/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////7+/f38/f38 + 9O7nm10ci0QAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA3ciy/////fz8/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////v7+/fz7////////28aunmImhz4A + jkkAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYAl1gW8+vk///+/f38/////v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7//Pz7////1LqdikIAj0sB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oBikMAoWgp+fby/f39/f39//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/////v7+/fz7/v//////8OjdtolbjEUAikMAkEwCj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAzrGR/////fz7/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v39/fz7/f38rn1HiD8Aj0sCj0kAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0sBiD8AyKiE/////fz8/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////f38////////+/j2y62LlVQSiD8AjkoBj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0oBiUEApW4z+vj1/v39/v39//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/Pz7/v7+6d3Qkk8LjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUcBkk8J7eTZ + /v7+/f38/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////v7+/f38/f39/////Pr4 + 2sSsomktiD8AjEcAkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjkkAjkgD + 49PB/////fz8/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f38////w552hz4Aj0wBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD4As4VS/////f39/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/////f38/v7+////////38y3qXU+iUEAikMAkEsCj0sB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4AvJNm/////fz7/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////f39/f389vHrnGAgikMAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBjEYA3Mex/////fz7/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////////v39/fz8/v7/////////4tC9rntHjUgCiUIAkEsCj0sBj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oBjEUBmVsZ9O7m/v7+/f38//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/Pz7//// + 2MCnikMAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0oAi0MAnmMj+ffz/v39/f38//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/v39/fv6//// + /////fz82MGnrXtIjUYAiUEAjkkAkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sCikEA0bWX/////fz7/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f39////r35IiUAAj0wC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiEAAxKF6/////fz8/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////v7+/f38/fz6/v7/////////8uvj0bWXomktjEUAiD4A + j0oBkEsBj0oAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsC + iUEAqHQ7+/j2/fz8/v39/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////fz7/v7+6NvNkEwIjUgBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jUgBkk8K7ODV/////fz7/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////v7+/v7+/v7+/v39/v39/////////f3859jKvZVqnF8hiD8Ai0QAj0oAkEwEj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgBjkkE5dXE/////fz7 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/Pz7////w551iD4Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAsIBL//// + /f38/v7+///+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////v7+/fz8/fz6//////// + ////////69/T0baYqndBjkgAiUAAi0QAkEwDj0sBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AvZRo/////fz7/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f39+vbzn2UlikMAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCi0QA2sOq/////fz7/v7//v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/v79/v38/v38/f38/v///////////v398Ojf0bWXsYBNlVUShz0A + ikIAjkkAkEwCj0sCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oBi0UBmlsc8eri/v39/fz8/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////Pz7////28avi0MBj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikMAnmIj+PXx/v39/f38///+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v79/f38 + /fz7/fz6/v7+/////////////////Pr55dXDyaqHr31Lkk8HikMAiUEAjUYAkEwDj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAj0oBiUEA1Lqd/////fv6//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/f79/fz7/f38 + sYJOiEAAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AxKB5/////fz8/v///v7+//////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////v7+/v39 + /v39/v39/v39/v39/v39/v38/v38/fz8/fz8/f38/f38/v38/v38/v39////////////////////9vDq + 6d3P0baYtIZVn2Unkk8HhjsAiUAAjkgAj0sBkEsCj0sBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUAArHpD/f38 + /v39/v39/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////fz8////7OHWkk8KjUcAjkoA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjUgBkU4J6NrM/////fz8//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////9O3l49PB1Lqew552soNRnmIhikIAikIAiUEAikIA + jUgAkE0EkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoBjUgCj0wK59nK/////fz7/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////xqR+hz4AkEwCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iUEArnxG/v7+/f38/f39/v7+//////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz6+PXv+fXy+fXy+fXy+fbz9vDr8Oje8Oje6dzO + 5NXE2MCmzbCPv5dusIBMn2UnmlwZk1EJjEUAhz0AiUEAjUcAkEwEkE0EkU0EkU0EkEwDj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sBkE0Ehz4Av5ht/v7+/fz7/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////+/f39/f389/PuoGYnikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAA1r2i//// + /Pz7/////v7+//////////////////////////////////////////////////////////////////// + /////////////////fz7////4M25l1YeoGYnn2MknmMkn2QmmVsYkUwEkU0FhTkAgzcAhDgAhDkAhDkA + hToAhToAhz0AiEAAikIAi0UAi0QAikIAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAikIAhz0Am1wc9O7o/v7+/f39/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+//7//f38////2sSsi0QAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0UBnWEg9fDr/v39/f39//////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////6NrMtIZYupFjuY9huo9huY9gupBjvJNnvJNnvpdsv5dtv5dtv5dsvpdsvpdsvpdsvpZrvpZr + vpVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvpdsuI1g + 4M24/////fz8/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////+ + /v7+/fz7////tIZUiD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8AwZxy/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz7/v397ePY + llURjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkgBkEsF6NrN/v7+/fz8/////v7+//////////////////////////// + /////////////////////////////////////////////////v7+/////v79/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v39/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/Pv7////yaiEiD8Aj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEsCiUEArXpD/v7//f39/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////f39/v38+vf0oWgrikIAj0sBj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oB + ikMA1bqf/////fz7/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz7////3MiyjEYBjkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0QAmlwa9O7n/v39 + /f38/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/f39////tIdViD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD4Avpds/////f38/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /fz8/v7+7+XblFIOjEYBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgBjkoD5dbF/v7//fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v38/v39 + /v38/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/////////v////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz8////y6uI + iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBiUEAq3c//fz7/v38/f79//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f39/v39/Pv6pGwuikEAj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sCikIA1Lqd/////fz7/v///v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7++fbzqXY9nmImoGYnoGUnoGUnoGUnoGUnoGUnoGUnoGUn + oGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUn + oGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnn2UnoGUnnmMm4c+8//// + /fz8//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz7////4tC9jUgEjkkCjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0QA + mVsZ8+zl/v38/fz8//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/fz7////xaJ8hToAi0QAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAi0QAhDoAqHI6+/n3/v39/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz8////uIxciUAAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8AvpZs/////fz7 + /v7+//7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz7/v7+ + 7ODUk1EPjUcCkEwDj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sCkEsCjkkDkk4L6t7Q/////fz7//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////f39/v7+8enhllYQjUYAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkkE49PB/////fz8/v///v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/f38////soJOiEAAj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0wBiD8Awp10/////fz8/v7+/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /Pz7////za+OikEAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sDiEAAp3I3/Pr4/f38/v39/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/Pz7////2cOri0QAj0oBjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0UAnWAf + 9vHs/v79/fz8//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/f39/f38+/n3pm8z + iUEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0oCikIA0LOU/////fz8/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/f38/f38+PPvoGcqi0QBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCiUEA1r2i/////fz7/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////fz7////4tC9jkkDjkkBjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAi0YAl1gT8+3l/v7+/f39//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////x6V/iD8AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiEAArXtF/f38/f38/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/fz8////vJJmiD4AkEwCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiEAA + upFj/////fz8/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f38/v7+6t7RklALjUcB + jkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0kAjkgBkU0I6NrM/////f38/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7//fz8/v798eril1kVi0QAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgBj0oG5NPC/////fz7 + /////v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v79/f38/f38soNQiUEAj0sCj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsC + hz4AwZty/////fz8/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////+/v///f37////0bWXiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApm8z/fz6/f38/f39//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////fz7////3MexikMAj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0MBnGEj9vLt/v39/f38 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////f39 + /f38/Pr4qHM6iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oCiUEAz7KS/////fz7/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v39/f38+PXxomotikIAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUIA1r2i/////fz7/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz7////49PBjUgC + jkkBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjEYBllYU8ejf/v79/f38/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz7////y6yJ + hz8Aj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAkEsBiD8ArXpD/fz7/v38/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/fz8////vJNmhz8Aj0sBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEsChz4At4ta/////fz8/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////f39////7ePZlFIPjEYAj0oAj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjUgCkEwL6dzO/////fz7//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////fz8/v398+vkmFoXi0UAj0oBj0kAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkkBjUcD + 38y3/////fz7/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/fz7/f38tYdVhz8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AwZtx//// + /fz8/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/fz8////0reaikIAjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApGww+/j2/v38/f39 + /////v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/fz6////3su1jEUEjkoCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0QAnGAf9fDq/v79/f39//7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v79/v39/f39q3c+iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AzKyK/////Pz7/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v/+/f39/v79 + +fb0o2otikMAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCikIA07eb/////fz7/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/////fz8 + /v7/59fIjkoEjUkBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0YBl1cV7+bc/f39/fz7/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+//7//fv7////yqmGiD8AkEwCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sBiEAAqXU7/Pv6/f38/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz8////v5dtiD4A + kEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBiD8Atotb/////fz7/v7+///+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////7+/fz8/v7+7uTalVQUjUcCj0oBj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkCj0oK + 5tbG/////fz8/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////f39/v399O7om10ci0UBj0oBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAj0oBjUcB4M25/////f38/v7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////f38////tolXiD8AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD4Avpdr/////fz7/v39/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////fz8////07ibiUAAkEsBjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCikIAomos + +PTw/fz8/f39/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////3ciyikMAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAi0UAmlsY9O7n/v7+/v39/v////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f39/f38/v79q3c/iUAAj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz4AyaiF/////fz7//// + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f39/f38+fXxomoviUEA + kEwCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0sCiUAA07mc/////fz7//////7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////fz8////6NvMkEwHjUgBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUcAk1EL7uTa/////f39//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////f38////y6uJhz8Aj0sBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sB + iUAAq3dA/Pr4/fz7/f39/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v///fz7 + ////wpxziD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8AtIZU/v39/fz7/v39/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////f38/v7+7uPYlFMPjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgBj0oC5dbG/////fz7 + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////+/fz8/v399/LunGAfi0MA + j0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0kBjEUC3cm0/////fz7/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v79/f38/v7+tYhYiD8AkEsCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz0AvpZr/////fz8/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v///fz7////17+likMAj0oBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + j0oBikMAomgq+vf0/f39/v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////Pz7////4M24 + i0UAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0sBi0QBm10f8+3m/f38/fz7/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////7+/v79/f39////rnxGiUAAkEsCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiEAAyKWB + /////Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v79/f38+PTxomkti0MAj0sBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEwBiUEA0rea/////fz7/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7//fz7////6t3QkE0IjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjUcBkk8M69/T/v7+/fz7//// + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/fz7////y6yKhz4Aj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUAAqnU9/Pz7 + /v38/v39/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/v7+/fz7////wZtyhz8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiEAAsoJP/////f38/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////f38/v7+8enhllYSjUcBj0oBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgCj0sJ5dbG//7+/Pz7/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////f38/v79 + +PTwnGAfi0QAj0sAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkoCi0QA28St/////Pz7/v7+/v7+//////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/f38 + ////uI1diD8AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBhz8AvpZq/////fz7/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/fz7////2sSsi0UAj0oB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0kAj0sCikMAnmQl9/Lt/f38/f39/////v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/fz7////4tC+jUcCjkkBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0oBi0QAmVsZ9O3m/v79/f38/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/f38////sYFMiD8Aj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + kEwChz4AxaJ8/////fz7/v7+//////////////////////////////////////////////////////// + ///////////////////////////////////+/f39/f39+/n3pGwwikEAj0sBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sCiUAA + 07mb/////Pz7/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////fz7/v7+7OHUkU0HjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjUcBk1AO6+DU + /v7+/Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////v7+/v///f38////za+OiD8Aj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAq3c+/fz7/fz8/f79//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/fz8////xqR/iD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz4AsIBM/v79/fz7/v7+//// + //////////////////////////////////////////////////////////////////////////////7/ + /fz8/v7+8erillYSjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBjkkF5tfH/////fz8/////v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////f39/f39+PXwn2Qli0MAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA2cKp/////fz8/v7///////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz8////uI1fiD8A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0wDhz4AvpVq/////Pz7/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz8//// + 2sWtikEAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oBi0MAnWAg9vDq/f38/f38/v7+//////////////////////////// + /////////////////////////////////////////////fz7////4tC9jUcAjkkBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jEQAm10b9O/p/v7+/f38//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v39/v7+soJPiUAAkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sDhz8Aw552/////fz7/v7+//7+//////////////////////////////////////// + /////////////////////v7+/f39/f38/Pr4pW8yikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUAA07ib/////fz7 + /v7//v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////f38/v7+7OHWklAMjUcBj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jUgAklAK6dzO/////f38/v////////////////////////////////////////////////////////// + /v7+/////fz7////za+OiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCiEAAqXY9+/n3/fz7/v39///+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////fz8////yamFiD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0wCiEAArXpD/Pv6 + /fz6/v39/v7+/////////////////////////////////////////////////////////f39/v7+8eng + lVMPjEYAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkBkEwF5tjJ/////f38/v///v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/f39/v39+fXyomkrikMAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sDikMC17+l/////fz7/////v7+ + /////////////////////////////////////////////v7+/v7+/f38////uI1diEAAkEsDjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEwBiD8Au5Jl/////fz8/v7+//7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////fz8////3ciyi0QAjkoCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBi0QAnmIi9vLt/v7+/v7+//////////////////// + /////////////////////////v7+/////fz8////4tC9jkgEjkkBj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBmFoX8uvj + /v39/fz8/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/fz8//// + tYdViD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0wDhz4AwZtx/////fz7/v7+/v7+//////////////////////////// + /////////////v7+/v39/Pr4pG0vikMAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiEAAz7KT/////fz7/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////fz7/v7+7uTalVQQjEYBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oBjUgCkU4N59jI/////fz8/////v7+/////////////////////////////v7+/v7+/fz8 + ////za6NiUAAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUEApm8z/Pv5/v39/f39//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////yaiDhz4Aj0sCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sB + iUAAqnY9/fz8/f38/v7+/////////////////////////////v7+/////f38/v398enhllcVi0UBj0oB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkgBjkkD5NTD/////fz8/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////f39/v39+/j2oWgqikIAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUIA07mb//// + /fz7/v7+/////////////////////////////v7+/f38////t4tahz8AkEsBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiD8A + upFj/////fz8/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/fz7////4M67jEYDjkkCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBi0QBm18g8+3l/v39/f38/v7+/v7+ + /////////////v7+/v7+/Pz7////5NTEjkkEjUkCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjEUAllcT8+vk/v39/f38//// + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/fz8////uIxciD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz0Avpdr/////fz7//////////////////////// + /f39/fz8+/n3p3E4iUEAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBiUAA0LSV/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////fz8/v7+8Ojf + llYSjEcBj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkgBkEwI5dfG/////fz7/v7+/////////////v7+/fz7////0LSWiEAA + kEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBikIAp3A1/Pr5/v39/v39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/fz7////za2Mhz8AkEsCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0sBiEEArHlC+/r4/fz8/v39/v7+/v7+/v7+/f38/v398+zkmVoZi0UBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkBjUcA49LA/////f38/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v38/f39+/n3pG0yikEAj0sCjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iD8A0ria/////fz7//////7+/v7+/fz7////u5Jlhz0Aj0wDjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8Au5Jk/////f38 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/////f38////38y3jUcAjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEUBmlsb8eng/v79 + /f38/////f38////5NTDjkkEjkkBjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBl1gV8uvk/v79/f38//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/fz8////t4xchz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wCiD4Au5Jm/////fz7/f39/fz8+/n3 + qXQ6iUIAj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8A0LOU/////fz8/////v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7/v7+8engllYWjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkgD5NTD/////Pr5////0bSXiEAAj0sDjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0kAj0sCikIAp3E3/Pr4/v39/v39/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////fz8////0baX + iUAAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAj0sBiUAApnE2+fbz/f388uvjl1cTi0UAj0oAj0kAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkgE5NTD + /////fz8/v////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v3+/v39/Pv5p3I4iUEAkEsBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkoAj0sCiUAAz7GT////upFjiD8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8Au5Fj/////fz8/v7///7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////fz7////4tG/jUcDjkkCjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAi0MA + nWEh1r2ikE0KjkgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEYBl1gX8urj/v7+/f38///+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v/+/Pz7////u5FkiD8AkEwBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAkU4FjUcAj0oA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sCiEAA0bWW/////fz7/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////f38/v7+8+zlmFkZjEYBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgAj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikIA + qHI4/Pv5/v39/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz6////0LOTiD8AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kCjUcF49G//////f38//// + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v39+/r3qnY+ + iUEAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sChz4Au5Nm/v///fz8/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////f38////5tfIjkkIjkkCj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0oAjEYAl1cU8+zl/v7+/v39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/fz7////v5huhz4Aj0sCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + kEsChz8Az7KS/////fz7/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v79/v7+9O7pmlwZi0UAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsCikEApnA3+vf0/fz7 + /v39/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////fz7////07ibiD8AkEsDj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkoBjEUA38y3/////fz7//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v39 + /fz7+/n3q3hBiUEAkEsCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0wChz4AuY1f/////f38/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////fz8////59jIj0oD + jkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oBjEYCl1YV7+Xb/v39/fz7/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/f37////vpdthz0Aj0wCj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBhz4Ay6uJ + /////fz8//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/fz8/v399O/om18hi0QBj0oBj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApW40+vf0/v39/v39/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////f38////1r2iiUAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkCjEYE4M24/////fz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/v79/v38/v39rnxIiEAAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAkEwChz8At4tZ/v7+/fz7/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/fz7 + /v7+6NrMkU0LjkgCjkoBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYB + llYW7+Xb/v7+/f38/////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////7//fz7////wJpwhz0A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiD8Aza6M/////fz7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////f39/v799vLtnWIki0QAj0sBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBiUEApG0x+vf0/f38/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7////1r6ii0MAj0oCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkoAj0kCjEYF38y3/////fz7/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/f38/fz8rXtEiUAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0wChz8AuIxc/v7+/fz7/v39/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////fz8////697Skk8MjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkoAjUYAllYR8Ofe/v/+ + /v39/v////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/fv6 + ////xKF6iD4AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wCiD8Ay6uJ/////v38//////7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v79/v7++fXyn2Qli0MA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0kAj0sCiUEApW8z+fby/fz7/f39/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////fz8////2cKqikQAjkoCj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkoAjkkBjEYA4M24/////fz8/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7/Pv6sH9LiD8AkEsCj0kAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz4At4pa + /////f38//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38////7OLWkk4KjUgBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEUBl1cV7uXb/v39/Pz8/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////fz8////xaJ8iD8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAAzK2L/////Pz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v39/fz7 + 9/LtomgsikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiUIApGww/Pn3/f38/f39//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////fz7////3Mewi0QAj0oB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkB + jUcE3sq2/////Pz7/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/f38////tolXiD8Aj0wBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8AuIxb/////fz8/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/fz7/v7+7eLWlVMSjUcCj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUYBllYT8Ojf/v7+/f39/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////fz8////yKaBhz4AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBhz8AyaiF/////fz7/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v39/v39+PTxomktikIAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oBikMAomgq+fXy/v39/f39//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/fz7//// + 3Mixi0MBjkoCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0MA3ciy//// + /fz8/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/fz7/v79tIdVhz4AkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBhz8AtIdV/////f37/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////f38////7+belVUUjEYBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkoAjUYBlFMO7uPZ/v7+/fz8//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/fz7////y6yJiD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEwBhz4AyKaD/////fz7/v///v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v38+ff0pW4yikEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikIAoWgq + +vf1/f38/f39//7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////fz7////4M24jEUFj0kCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkCjEYB3ciy/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v39/fz7/v39 + tolZhz4AkU4FkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwD + kEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwD + kEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwCkU0EiEAAtIVS/////f39/v7+///+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v///v39////8OfdlVQQhDoAiD8A + iD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4A + iD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4A + iD4AiD4AiD4AiD8AhToAkU4K7+Xc/v7+/f38/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////7+/////v7+////38y4y6yNzrGQzrCQzrCQzrCQzrCQ + zrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQ + zrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrGS + yqqM38u2/////v79/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/v7+/v79//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v79/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8 + /fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8 + /fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/f38/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxMain.Designer.cs b/LFP_Manager/Forms/fmxMain.Designer.cs new file mode 100644 index 0000000..d33675f --- /dev/null +++ b/LFP_Manager/Forms/fmxMain.Designer.cs @@ -0,0 +1,470 @@ +namespace LFP_Manager.Forms +{ + partial class fmxMain + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fmxMain)); + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.chbPolling = new DevExpress.XtraEditors.CheckEdit(); + this.edModuleID = new DevExpress.XtraEditors.TextEdit(); + this.statusStrip1 = new System.Windows.Forms.StatusStrip(); + this.CommStatusBar = new System.Windows.Forms.ToolStripStatusLabel(); + this.HeatBeatStatusBar = new System.Windows.Forms.ToolStripStatusLabel(); + this.LogStatusBar = new System.Windows.Forms.ToolStripStatusLabel(); + this.uDataLog = new LFP_Manager.Controls.ucDataLog(); + this.uEventLog = new LFP_Manager.Controls.ucEventLog(); + this.tabStatus = new DevExpress.XtraTab.XtraTabControl(); + this.pgMain = new DevExpress.XtraTab.XtraTabPage(); + this.uTarget = new LFP_Manager.Controls.ucTargetControl(); + this.layoutControlMain = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem(); + this.lcitemSystemId = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem16 = new DevExpress.XtraLayout.LayoutControlItem(); + this.tmrDisplay = new System.Windows.Forms.Timer(this.components); + this.mnMain = new System.Windows.Forms.MenuStrip(); + this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.levelConfigToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.changeLeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.changePasswordToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.historyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.historyViewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.inventoryViewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.updateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.firmwareUpdateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.chbPolling.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.edModuleID.Properties)).BeginInit(); + this.statusStrip1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.tabStatus)).BeginInit(); + this.tabStatus.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlMain)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemSystemId)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem16)).BeginInit(); + this.mnMain.SuspendLayout(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.AllowCustomization = false; + this.layoutControl1.Controls.Add(this.chbPolling); + this.layoutControl1.Controls.Add(this.edModuleID); + this.layoutControl1.Controls.Add(this.statusStrip1); + this.layoutControl1.Controls.Add(this.uDataLog); + this.layoutControl1.Controls.Add(this.uEventLog); + this.layoutControl1.Controls.Add(this.tabStatus); + this.layoutControl1.Controls.Add(this.uTarget); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 24); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(577, 118, 783, 350); + this.layoutControl1.Root = this.layoutControlMain; + this.layoutControl1.Size = new System.Drawing.Size(1314, 857); + this.layoutControl1.TabIndex = 1; + this.layoutControl1.Text = "layoutControl1"; + // + // chbPolling + // + this.chbPolling.Location = new System.Drawing.Point(1254, 660); + this.chbPolling.Name = "chbPolling"; + this.chbPolling.Properties.Caption = "Polling"; + this.chbPolling.Size = new System.Drawing.Size(57, 20); + this.chbPolling.StyleController = this.layoutControl1; + this.chbPolling.TabIndex = 5; + this.chbPolling.CheckedChanged += new System.EventHandler(this.chbPolling_CheckedChanged); + // + // edModuleID + // + this.edModuleID.EditValue = "1"; + this.edModuleID.Location = new System.Drawing.Point(1181, 660); + this.edModuleID.Name = "edModuleID"; + this.edModuleID.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 10F); + this.edModuleID.Properties.Appearance.Options.UseFont = true; + this.edModuleID.Properties.Appearance.Options.UseTextOptions = true; + this.edModuleID.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.edModuleID.Size = new System.Drawing.Size(69, 22); + this.edModuleID.StyleController = this.layoutControl1; + this.edModuleID.TabIndex = 4; + this.edModuleID.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.edSystemId_KeyPress); + // + // statusStrip1 + // + this.statusStrip1.AutoSize = false; + this.statusStrip1.Dock = System.Windows.Forms.DockStyle.None; + this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.CommStatusBar, + this.HeatBeatStatusBar, + this.LogStatusBar}); + this.statusStrip1.Location = new System.Drawing.Point(3, 834); + this.statusStrip1.Name = "statusStrip1"; + this.statusStrip1.Size = new System.Drawing.Size(1308, 20); + this.statusStrip1.TabIndex = 1; + this.statusStrip1.Text = "statusStrip1"; + // + // CommStatusBar + // + this.CommStatusBar.AutoSize = false; + this.CommStatusBar.ForeColor = System.Drawing.Color.Black; + this.CommStatusBar.Name = "CommStatusBar"; + this.CommStatusBar.Size = new System.Drawing.Size(200, 15); + this.CommStatusBar.Text = "Comm: OFF"; + this.CommStatusBar.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // HeatBeatStatusBar + // + this.HeatBeatStatusBar.AutoSize = false; + this.HeatBeatStatusBar.ForeColor = System.Drawing.Color.Black; + this.HeatBeatStatusBar.Name = "HeatBeatStatusBar"; + this.HeatBeatStatusBar.Size = new System.Drawing.Size(200, 15); + this.HeatBeatStatusBar.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // LogStatusBar + // + this.LogStatusBar.AutoSize = false; + this.LogStatusBar.Name = "LogStatusBar"; + this.LogStatusBar.Size = new System.Drawing.Size(650, 15); + this.LogStatusBar.Text = "Log Stop"; + this.LogStatusBar.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // uDataLog + // + this.uDataLog.Location = new System.Drawing.Point(1149, 686); + this.uDataLog.Name = "uDataLog"; + this.uDataLog.Size = new System.Drawing.Size(162, 144); + this.uDataLog.TabIndex = 6; + // + // uEventLog + // + this.uEventLog.Location = new System.Drawing.Point(3, 660); + this.uEventLog.Name = "uEventLog"; + this.uEventLog.Size = new System.Drawing.Size(1142, 170); + this.uEventLog.TabIndex = 3; + // + // tabStatus + // + this.tabStatus.Location = new System.Drawing.Point(3, 68); + this.tabStatus.Name = "tabStatus"; + this.tabStatus.SelectedTabPage = this.pgMain; + this.tabStatus.Size = new System.Drawing.Size(1308, 588); + this.tabStatus.TabIndex = 2; + this.tabStatus.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] { + this.pgMain}); + // + // pgMain + // + this.pgMain.Name = "pgMain"; + this.pgMain.Size = new System.Drawing.Size(1306, 562); + this.pgMain.Text = "RealTime Data"; + // + // uTarget + // + this.uTarget.Location = new System.Drawing.Point(3, 3); + this.uTarget.Name = "uTarget"; + this.uTarget.Size = new System.Drawing.Size(1308, 61); + this.uTarget.TabIndex = 0; + // + // layoutControlMain + // + this.layoutControlMain.CustomizationFormText = "layoutControlGroup1"; + this.layoutControlMain.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlMain.GroupBordersVisible = false; + this.layoutControlMain.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem1, + this.layoutControlItem2, + this.layoutControlItem6, + this.layoutControlItem7, + this.layoutControlItem8, + this.lcitemSystemId, + this.layoutControlItem16}); + this.layoutControlMain.Name = "Root"; + this.layoutControlMain.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlMain.Size = new System.Drawing.Size(1314, 857); + this.layoutControlMain.TextVisible = false; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.uTarget; + this.layoutControlItem1.CustomizationFormText = "layoutControlItem1"; + this.layoutControlItem1.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem1.MaxSize = new System.Drawing.Size(0, 65); + this.layoutControlItem1.MinSize = new System.Drawing.Size(350, 65); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(1312, 65); + this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.tabStatus; + this.layoutControlItem2.CustomizationFormText = "layoutControlItem2"; + this.layoutControlItem2.Location = new System.Drawing.Point(0, 65); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(1312, 592); + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // layoutControlItem6 + // + this.layoutControlItem6.Control = this.uEventLog; + this.layoutControlItem6.CustomizationFormText = "layoutControlItem6"; + this.layoutControlItem6.Location = new System.Drawing.Point(0, 657); + this.layoutControlItem6.MaxSize = new System.Drawing.Size(0, 174); + this.layoutControlItem6.MinSize = new System.Drawing.Size(209, 174); + this.layoutControlItem6.Name = "layoutControlItem6"; + this.layoutControlItem6.Size = new System.Drawing.Size(1146, 174); + this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem6.TextVisible = false; + // + // layoutControlItem7 + // + this.layoutControlItem7.Control = this.uDataLog; + this.layoutControlItem7.CustomizationFormText = "layoutControlItem7"; + this.layoutControlItem7.Location = new System.Drawing.Point(1146, 683); + this.layoutControlItem7.MaxSize = new System.Drawing.Size(166, 0); + this.layoutControlItem7.MinSize = new System.Drawing.Size(166, 24); + this.layoutControlItem7.Name = "layoutControlItem7"; + this.layoutControlItem7.Size = new System.Drawing.Size(166, 148); + this.layoutControlItem7.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem7.TextVisible = false; + // + // layoutControlItem8 + // + this.layoutControlItem8.Control = this.statusStrip1; + this.layoutControlItem8.CustomizationFormText = "layoutControlItem8"; + this.layoutControlItem8.Location = new System.Drawing.Point(0, 831); + this.layoutControlItem8.MaxSize = new System.Drawing.Size(0, 24); + this.layoutControlItem8.MinSize = new System.Drawing.Size(104, 24); + this.layoutControlItem8.Name = "layoutControlItem8"; + this.layoutControlItem8.Size = new System.Drawing.Size(1312, 24); + this.layoutControlItem8.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem8.TextVisible = false; + // + // lcitemSystemId + // + this.lcitemSystemId.Control = this.edModuleID; + this.lcitemSystemId.CustomizationFormText = "System Id"; + this.lcitemSystemId.Location = new System.Drawing.Point(1146, 657); + this.lcitemSystemId.MinSize = new System.Drawing.Size(57, 26); + this.lcitemSystemId.Name = "lcitemSystemId"; + this.lcitemSystemId.Size = new System.Drawing.Size(105, 26); + this.lcitemSystemId.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcitemSystemId.Text = " ID "; + this.lcitemSystemId.TextSize = new System.Drawing.Size(20, 14); + // + // layoutControlItem16 + // + this.layoutControlItem16.Control = this.chbPolling; + this.layoutControlItem16.CustomizationFormText = "layoutControlItem16"; + this.layoutControlItem16.Location = new System.Drawing.Point(1251, 657); + this.layoutControlItem16.Name = "layoutControlItem16"; + this.layoutControlItem16.Size = new System.Drawing.Size(61, 26); + this.layoutControlItem16.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem16.TextVisible = false; + // + // tmrDisplay + // + this.tmrDisplay.Enabled = true; + this.tmrDisplay.Interval = 500; + this.tmrDisplay.Tick += new System.EventHandler(this.tmrDisplay_Tick); + // + // mnMain + // + this.mnMain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fileToolStripMenuItem, + this.historyToolStripMenuItem, + this.updateToolStripMenuItem}); + this.mnMain.Location = new System.Drawing.Point(0, 0); + this.mnMain.Name = "mnMain"; + this.mnMain.Size = new System.Drawing.Size(1314, 24); + this.mnMain.TabIndex = 2; + this.mnMain.Text = "menuStrip1"; + // + // fileToolStripMenuItem + // + this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.levelConfigToolStripMenuItem, + this.exitToolStripMenuItem}); + this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; + this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); + this.fileToolStripMenuItem.Text = "File"; + // + // levelConfigToolStripMenuItem + // + this.levelConfigToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.changeLeToolStripMenuItem, + this.changePasswordToolStripMenuItem}); + this.levelConfigToolStripMenuItem.Name = "levelConfigToolStripMenuItem"; + this.levelConfigToolStripMenuItem.Size = new System.Drawing.Size(141, 22); + this.levelConfigToolStripMenuItem.Text = "Level Config"; + this.levelConfigToolStripMenuItem.Click += new System.EventHandler(this.levelConfigToolStripMenuItem_Click); + // + // changeLeToolStripMenuItem + // + this.changeLeToolStripMenuItem.Name = "changeLeToolStripMenuItem"; + this.changeLeToolStripMenuItem.Size = new System.Drawing.Size(169, 22); + this.changeLeToolStripMenuItem.Text = "Change Level"; + this.changeLeToolStripMenuItem.Click += new System.EventHandler(this.changeLeToolStripMenuItem_Click); + // + // changePasswordToolStripMenuItem + // + this.changePasswordToolStripMenuItem.Name = "changePasswordToolStripMenuItem"; + this.changePasswordToolStripMenuItem.Size = new System.Drawing.Size(169, 22); + this.changePasswordToolStripMenuItem.Text = "Change Password"; + this.changePasswordToolStripMenuItem.Click += new System.EventHandler(this.changePasswordToolStripMenuItem_Click); + // + // exitToolStripMenuItem + // + this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; + this.exitToolStripMenuItem.Size = new System.Drawing.Size(141, 22); + this.exitToolStripMenuItem.Text = "Exit"; + this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); + // + // historyToolStripMenuItem + // + this.historyToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.historyViewToolStripMenuItem, + this.inventoryViewToolStripMenuItem}); + this.historyToolStripMenuItem.Name = "historyToolStripMenuItem"; + this.historyToolStripMenuItem.Size = new System.Drawing.Size(57, 20); + this.historyToolStripMenuItem.Text = "History"; + // + // historyViewToolStripMenuItem + // + this.historyViewToolStripMenuItem.Name = "historyViewToolStripMenuItem"; + this.historyViewToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.historyViewToolStripMenuItem.Text = "History View"; + this.historyViewToolStripMenuItem.Click += new System.EventHandler(this.historyViewToolStripMenuItem_Click); + // + // inventoryViewToolStripMenuItem + // + this.inventoryViewToolStripMenuItem.Name = "inventoryViewToolStripMenuItem"; + this.inventoryViewToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.inventoryViewToolStripMenuItem.Text = "Inventory View"; + this.inventoryViewToolStripMenuItem.Click += new System.EventHandler(this.inventoryViewToolStripMenuItem_Click); + // + // updateToolStripMenuItem + // + this.updateToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.firmwareUpdateToolStripMenuItem}); + this.updateToolStripMenuItem.Name = "updateToolStripMenuItem"; + this.updateToolStripMenuItem.Size = new System.Drawing.Size(57, 20); + this.updateToolStripMenuItem.Text = "Update"; + // + // firmwareUpdateToolStripMenuItem + // + this.firmwareUpdateToolStripMenuItem.Name = "firmwareUpdateToolStripMenuItem"; + this.firmwareUpdateToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.firmwareUpdateToolStripMenuItem.Text = "Firmware Update"; + this.firmwareUpdateToolStripMenuItem.Click += new System.EventHandler(this.firmwareUpdateToolStripMenuItem_Click); + // + // fmxMain + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(1314, 881); + this.Controls.Add(this.layoutControl1); + this.Controls.Add(this.mnMain); + this.IconOptions.Icon = ((System.Drawing.Icon)(resources.GetObject("fmxMain.IconOptions.Icon"))); + this.Name = "fmxMain"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "LFP SYSTEM"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.fmxMain_FormClosing); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.chbPolling.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.edModuleID.Properties)).EndInit(); + this.statusStrip1.ResumeLayout(false); + this.statusStrip1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.tabStatus)).EndInit(); + this.tabStatus.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlMain)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemSystemId)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem16)).EndInit(); + this.mnMain.ResumeLayout(false); + this.mnMain.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlMain; + private Controls.ucTargetControl uTarget; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraTab.XtraTabControl tabStatus; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private Controls.ucEventLog uEventLog; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6; + private Controls.ucDataLog uDataLog; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7; + private System.Windows.Forms.StatusStrip statusStrip1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8; + private System.Windows.Forms.ToolStripStatusLabel CommStatusBar; + private System.Windows.Forms.ToolStripStatusLabel LogStatusBar; + private System.Windows.Forms.ToolStripStatusLabel HeatBeatStatusBar; + private DevExpress.XtraEditors.TextEdit edModuleID; + private DevExpress.XtraLayout.LayoutControlItem lcitemSystemId; + private DevExpress.XtraTab.XtraTabPage pgMain; + //private Controls.ucMainStatus ucMsGraph; + private DevExpress.XtraEditors.CheckEdit chbPolling; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem16; + private System.Windows.Forms.Timer tmrDisplay; + private System.Windows.Forms.MenuStrip mnMain; + private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem historyToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem historyViewToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem updateToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem firmwareUpdateToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem inventoryViewToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem levelConfigToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem changeLeToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem changePasswordToolStripMenuItem; + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxMain.cs b/LFP_Manager/Forms/fmxMain.cs new file mode 100644 index 0000000..3bd7274 --- /dev/null +++ b/LFP_Manager/Forms/fmxMain.cs @@ -0,0 +1,1294 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Linq; +using System.Windows.Forms; +using DevExpress.XtraEditors; + +using LFP_Manager.Forms; +using LFP_Manager.Controls; +using LFP_Manager.DataStructure; +using LFP_Manager.Function; +using LFP_Manager.Threads; +using LFP_Manager.Utils; +using DevExpress.Utils.Drawing.Helpers; +using System.Threading.Tasks; +using static LFP_Manager.Threads.csDbThread; + +namespace LFP_Manager.Forms +{ + public partial class fmxMain : DevExpress.XtraEditors.XtraForm + { + #region VARIABLES + + // Child form + private fmxInventoryConfig InventoryConfig = null; + private fmxModuleDetail ModuleDetailForm = null; + private fmxFwUpdate FwUpdateForm = null; + private fmxHistory HistoryForm = null; + + // Static Variables + private CommConfig Config = new CommConfig(); + private CsDeviceData DeviceData = new CsDeviceData(); + + // Thread Variables + private csUartThread uartThread = null; + private CsUartThreadSB rs485Thread = null; + private CsSnmpThread snmpThread = null; + + private csDbThread dbThread = null; + + private ucMainStatus MainStatus = null; + private ucShelfStatus ShelfStatus = null; + + private int ModuleID = 1; + + bool Active = false; + + #endregion + + #region CONSTRUCTORS + + public fmxMain() + { + InitializeComponent(); + + IniLoad(ref Config); + + uTarget.OnConfig += ConfigButtonClick; + uTarget.OnStart += StartButtonClick; + + uDataLog.OnUpdate += LogStatusUpdate; + + DisplaySystemFwVerModule(); + } + + private void IniLoad(ref CommConfig aConfig) + { + csIniControlFunction.IniLoad(Application.ExecutablePath, ref aConfig); + + uTarget.UpdateConfig(ref aConfig); + + TypeChangedUpdate(ref aConfig); + } + + #endregion + + #region BUTTON EVENT + + private void ConfigButtonClick(object sender, EventArgs e) + { + foreach (Form frm in Application.OpenForms) + { + if (frm.Name == "fmxCommConfig") + { + frm.Activate(); + return; + } + } + fmxCommConfig CommConfigForm = new fmxCommConfig + { + Owner = this + }; + + CommConfigForm.OnUpdate += UpdateConfig; + CommConfigForm.Show(); + } + + private void StartButtonClick(object sender, EventArgs e) + { + if (Active) + { + DeviceData.Reset(); + + switch (Config.CommType) + { + case csConstData.CommType.COMM_UART: + if (uartThread != null) + { + StopUart(); // 내부에서 UnwireUart → Dispose 순서 수행 + edModuleID.Enabled = true; + chbPolling.Enabled = true; + } + break; + case csConstData.CommType.COMM_RS485: + // DELTA Protocol + if (rs485Thread != null) + { + StopRS485(); // 내부에서 UnwireRs485 → Dispose 순서 수행 + edModuleID.Enabled = true; + chbPolling.Enabled = true; + } + break; + case csConstData.CommType.COMM_SNMP: + break; + default: + break; + } + + if (snmpThread != null) + { + snmpThread.disposeThread(); + snmpThread = null; + UpdateSnmpData(this, ref DeviceData.ModuleData[0]); + } + + if (dbThread != null) + { + //dbThread.Stop(); + + dbThread.OnUpdateAlarmHistory -= UpdateAlarmHistory; + dbThread.OnPrint -= ErrorOnPrint; + dbThread.Dispose(); + dbThread = null; + } + + Active = false; + } + else + { + try + { + ModuleID = Convert.ToInt16(edModuleID.Text); + } + catch (Exception) + { + MessageBox.Show("Wrong Module ID - Please check module ID", "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error); + return; + } + + switch (Config.CommType) + { + case csConstData.CommType.COMM_UART: + // UART MODE - RS-232 + CommUARTStart(); + break; + case csConstData.CommType.COMM_RS485: + // UART MODE - RS-485 + CommRS485Start(); + break; + case csConstData.CommType.COMM_SNMP: + StartProcessSNMP(); + break; + } + } + uTarget.UpdateStatus(Active); + uDataLog.UpdateActiveStatus(Active, Config, ref DeviceData); + DisplayCommStatus(); + } + + private void UartRecvData(byte[] data) + { + if (this.InvokeRequired) + { + this.Invoke(new MethodInvoker(delegate () + { + FwUpdateForm?.RecvData(data); + HistoryForm?.RecvUardData(data); + })); + } + else + { + FwUpdateForm?.RecvData(data); + HistoryForm?.RecvUardData(data); + } + } + + private void CommUARTStart() + { + try + { + int mId = string.IsNullOrEmpty(edModuleID.Text) ? 0 : Convert.ToInt32(edModuleID.Text); + if (mId == 0) { throw new Exception("System ID is zero."); } + + // 혹시 기존 인스턴스가 남아 있다면 먼저 해제 + StopUart(); + + if (dbThread != null) + { + dbThread.OnUpdateAlarmHistory -= UpdateAlarmHistory; + dbThread.OnPrint -= ErrorOnPrint; + dbThread.Dispose(); + dbThread = null; + } + + uartThread = new csUartThread(mId, Config, this, DeviceData.ModuleData[0]); + WireUart(uartThread); // ← 구독은 Start 전에 + uartThread.SetPolling(chbPolling.Checked, mId, ref DeviceData.ModuleData[0]); + + if (uartThread.Start(ref Config, mId, chbPolling.Checked)) + { + Active = true; + chbPolling.Enabled = true; + edModuleID.Enabled = !chbPolling.Checked; + ShelfStatus?.UpdateSystemId(mId); + + dbThread = new csDbThread(Config, this, DeviceData); + dbThread.OnUpdateAlarmHistory += UpdateAlarmHistory; + dbThread.OnPrint += ErrorOnPrint; + dbThread.Start(Config); + } + else + { + StopUart(); + + if (dbThread != null) + { + dbThread.OnUpdateAlarmHistory -= UpdateAlarmHistory; + dbThread.OnPrint -= ErrorOnPrint; + dbThread.Dispose(); + dbThread = null; + } + } + } + catch (Exception ex) + { + // 예외 시에도 반드시 해제 + Dispose + StopUart(); + + dbThread?.Dispose(); + dbThread = null; + + MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void StopUart() + { + if (uartThread != null) + { + UnwireUart(); // 1) 구독 해제 + uartThread.Dispose(); // 2) 스레드/포트 정리(Stop 포함) + uartThread = null; + } + } + + private void CommRS485Start() + { + try + { + int mId = string.IsNullOrEmpty(edModuleID.Text) ? 0 : Convert.ToInt32(edModuleID.Text); + if (mId == 0) { throw new Exception("System ID is zero."); } + + StopRS485(); + + rs485Thread = new CsUartThreadSB(mId, Config, this, DeviceData.ModuleData); + WireRs485(rs485Thread); // ← 구독 + rs485Thread.SetPolling(chbPolling.Checked, mId, ref DeviceData.ModuleData); + + if (rs485Thread.Start(ref Config, ModuleID, chbPolling.Checked)) + { + Active = true; + chbPolling.Enabled = true; + edModuleID.Enabled = !chbPolling.Checked; + + //if (Config.ModuleQty > 1) + // MainStatus?.Start(Config, DeviceData); + //else + // ShelfStatus?.UpdateSystemId(ModuleID); + + dbThread = new csDbThread(Config, this, DeviceData); + dbThread.OnUpdateAlarmHistory += UpdateAlarmHistory; + dbThread.OnPrint += ErrorOnPrint; + dbThread.Start(Config); + } + else + { + StopRS485(); + + if (dbThread != null) + { + dbThread.OnUpdateAlarmHistory -= UpdateAlarmHistory; + dbThread.OnPrint -= ErrorOnPrint; + dbThread.Dispose(); + dbThread = null; + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); + + if (rs485Thread != null) + { + rs485Thread.Dispose(); + rs485Thread = null; + } + if (dbThread != null) + { + dbThread.Dispose(); + dbThread = null; + } + } + } + private void StopRS485() + { + if (rs485Thread != null) + { + UnwireRs485(); // 1) 구독 해제 + rs485Thread.Dispose(); // 2) 스레드/포트 정리(Stop 포함) + rs485Thread = null; + } + } + + private void StartProcessSNMP() + { + try + { + snmpThread = new CsSnmpThread(Config, ref DeviceData.ModuleData[ModuleID - 1]); + snmpThread.OnUpdate += UpdateSnmpData; + snmpThread.OnSetResult += SnmpRecvData; + snmpThread.Start(Config.SnmpIP, chbPolling.Checked); + + Active = true; + + dbThread = new csDbThread(Config, this, DeviceData); + dbThread.OnUpdateAlarmHistory += UpdateAlarmHistory; + dbThread.OnPrint += ErrorOnPrint; + dbThread.Start(Config); + } + catch (Exception) + { + if (snmpThread == null) + { + snmpThread.disposeThread(); + snmpThread = null; + } + + if (dbThread != null) + { + dbThread.OnUpdateAlarmHistory -= UpdateAlarmHistory; + dbThread.OnPrint -= ErrorOnPrint; + dbThread.Dispose(); + dbThread = null; + } + } + } + #endregion + + #region UPDATE FUNCTIONS + + private void TypeChangeUpdateUart(ref CommConfig aConfig) + { + tabStatus.TabPages[0].PageVisible = true; + for (int i = 1; i < tabStatus.TabPages.Count; i++) + { + tabStatus.TabPages[i].PageVisible = false; + } + tabStatus.TabPages[0].Text = String.Format("LFP Module [{0}.{1}.{2}.{3}]" + , 0 + , 0 + , 0 + , 0 + ); + ShelfStatus = new ucShelfStatus(); + ShelfStatus.OnCommand += SetCmdEvent; + ShelfStatus.Dock = DockStyle.Fill; + + tabStatus.TabPages[0].PageVisible = true; + tabStatus.TabPages[0].Controls.Add(ShelfStatus); + + ShelfStatus.Start(Convert.ToInt32(edModuleID.Text), ref aConfig, ref DeviceData.ModuleData); + + edModuleID.Enabled = true; + chbPolling.Enabled = true; + } + private void TypeChangeUpdateRS485(ref CommConfig aConfig) + { + // Display Screen Delete + if (MainStatus != null) + { + MainStatus.Dispose(); + MainStatus = null; + } + + if (ShelfStatus != null) + { + ShelfStatus.Dispose(); + ShelfStatus = null; + } + + if (aConfig.ModuleQty > 1) + { + // All disable first + for (int i = 0; i < tabStatus.TabPages.Count; i++) + { + tabStatus.TabPages[i].PageVisible = false; + } + + MainStatus = new ucMainStatus(); + MainStatus.OnCommand += SetCmdEvent; + + tabStatus.TabPages[0].Text = string.Format("LFP System"); + tabStatus.TabPages[0].PageVisible = true; + tabStatus.TabPages[0].Controls.Add(MainStatus); + MainStatus.Dock = DockStyle.Fill; + MainStatus.UpdateMainConfig(Config, DeviceData); + + MainStatus.Start(aConfig, DeviceData); + + edModuleID.Enabled = false; + chbPolling.Enabled = false; + } + else + { + tabStatus.TabPages[0].PageVisible = true; + for (int i = 1; i < tabStatus.TabPages.Count; i++) + { + tabStatus.TabPages[i].PageVisible = false; + } + tabStatus.TabPages[0].Text = String.Format("LFP Module [{0}.{1}.{2}.{3}]" + , 0 + , 0 + , 0 + , 0 + ); + ShelfStatus = new ucShelfStatus(); + ShelfStatus.OnCommand += SetCmdEvent; + ShelfStatus.OnSendUartData += SetWriteData; + ShelfStatus.Dock = DockStyle.Fill; + + tabStatus.TabPages[0].PageVisible = true; + tabStatus.TabPages[0].Controls.Add(ShelfStatus); + + ShelfStatus.Start(ModuleID, ref aConfig, ref DeviceData.ModuleData); + + edModuleID.Enabled = true; + chbPolling.Enabled = true; + } + } + private void TypeChangeUpdateSnmp(ref CommConfig aConfig) + { + tabStatus.TabPages[0].PageVisible = true; + for (int i = 1; i < tabStatus.TabPages.Count; i++) + { + tabStatus.TabPages[i].PageVisible = false; + } + tabStatus.TabPages[0].Text = String.Format("LFP Module [{0}.{1}.{2}.{3}]" + , 0 + , 0 + , 0 + , 0 + ); + ShelfStatus = new ucShelfStatus(); + ShelfStatus.OnCommand += SetCmdEvent; + ShelfStatus.Dock = DockStyle.Fill; + + tabStatus.TabPages[0].PageVisible = true; + tabStatus.TabPages[0].Controls.Add(ShelfStatus); + + ShelfStatus.Start(ModuleID, ref aConfig, ref DeviceData.ModuleData); + + edModuleID.Enabled = false; + chbPolling.Enabled = true; + } + + private void TypeChangedUpdate(ref CommConfig aConfig) + { + tabStatus.TabPages[0].Controls.Clear(); + + // Display Screen Deletes + if (ShelfStatus != null) + { + ShelfStatus.Dispose(); + ShelfStatus = null; + } + + SetCellTempQty(aConfig, ref DeviceData.ModuleData); + try + { + ModuleID = Convert.ToInt16(edModuleID.Text); + } + catch (Exception) + { + ModuleID = 1; + } + + switch (aConfig.CommType) + { + case csConstData.CommType.COMM_UART: + TypeChangeUpdateUart(ref aConfig); + historyToolStripMenuItem.Visible = true; + inventoryViewToolStripMenuItem.Visible = true; + updateToolStripMenuItem.Visible = false; + break; + case csConstData.CommType.COMM_RS485: + TypeChangeUpdateRS485(ref aConfig); + historyToolStripMenuItem.Visible = true; + inventoryViewToolStripMenuItem.Visible = false; + updateToolStripMenuItem.Visible = true; + break; + case csConstData.CommType.COMM_SNMP: + TypeChangeUpdateSnmp(ref aConfig); + historyToolStripMenuItem.Visible = true; + inventoryViewToolStripMenuItem.Visible = false; + updateToolStripMenuItem.Visible = false; + break; + default: + break; + } + //DisplayCommStatus(); + } + + private void SetCellTempQty(CommConfig aConfig, ref CsDeviceData.DeviceModuleData[] mData) + { + switch (aConfig.CommType) + { + case csConstData.CommType.COMM_UART: + case csConstData.CommType.COMM_RS485: + switch (aConfig.UartModelIndex) + { + case csConstData.UART_MODEL_INDEX.LFPM_48100D: + case csConstData.UART_MODEL_INDEX.LFPM_48150D: + case csConstData.UART_MODEL_INDEX.LFPM_48200D: + case csConstData.UART_MODEL_INDEX.LFPM_48250D: + case csConstData.UART_MODEL_INDEX.LFPM_48300D: + for (int i = 0; i < mData.Length; i++) + { + mData[i].cellQty = 15; + mData[i].tempQty = 4; + } + break; + case csConstData.UART_MODEL_INDEX.LFPM_124050D: + for (int i = 0; i < mData.Length; i++) + { + mData[i].cellQty = csConstData.SystemInfo.MAX_MODULE_CELL_SIZE; + mData[i].tempQty = csConstData.SystemInfo.MAX_MODULE_TEMP_SIZE; + } + break; + default: + break; + } + break; + case csConstData.CommType.COMM_SNMP: + switch (aConfig.SnmpModelIndex) + { + case csConstData.UART_MODEL_INDEX.LFPM_48100D: + case csConstData.UART_MODEL_INDEX.LFPM_48150D: + case csConstData.UART_MODEL_INDEX.LFPM_48200D: + case csConstData.UART_MODEL_INDEX.LFPM_48250D: + case csConstData.UART_MODEL_INDEX.LFPM_48300D: + for (int i = 0; i < mData.Length; i++) + { + mData[i].cellQty = 15; + mData[i].tempQty = 4; + } + break; + case csConstData.UART_MODEL_INDEX.LFPM_124050D: + for (int i = 0; i < mData.Length; i++) + { + mData[i].cellQty = csConstData.SystemInfo.MAX_MODULE_CELL_SIZE; + mData[i].tempQty = csConstData.SystemInfo.MAX_MODULE_TEMP_SIZE; + } + break; + default: + break; + } + break; + default: + for (int i = 0; i < mData.Length; i++) + { + mData[i].cellQty = 15; + mData[i].tempQty = 4; + } + break; + } + } + + private void DisplaySystemFwVerModule() + { + switch (Config.ControlLevel) + { + case 0: // User Level + inventoryViewToolStripMenuItem.Visible = false; + break; + case 1: // Technician Level + inventoryViewToolStripMenuItem.Visible = false; + break; + case 2: // Engineer Level + inventoryViewToolStripMenuItem.Visible = false; + break; + case 3: // Master Level + inventoryViewToolStripMenuItem.Visible = true; + break; + default: // User Level + inventoryViewToolStripMenuItem.Visible = false; + break; + } + + switch (Config.ControlLevel) + { + case 0: // User Level + this.Text = String.Format("LFP SYSTEM [{0}] -- SB - User Level", Application.ProductVersion); + break; + case 1: // Technician Level + this.Text = String.Format("LFP SYSTEM [{0}] -- SB - Technician Level", Application.ProductVersion); + break; + case 2: // Engineer Level + this.Text = String.Format("LFP SYSTEM [{0}] -- SB - Engineer Level", Application.ProductVersion); + break; + case 3: // Master Level + this.Text = String.Format("LFP SYSTEM [{0}] -- SB - Master Level", Application.ProductVersion); + break; + default: + this.Text = String.Format("LFP SYSTEM [{0}] -- SB - User Level", Application.ProductVersion); + break; + } + + if (this.InvokeRequired) + { + this.Invoke(new MethodInvoker(delegate () + { + if (DeviceData.ModuleData[0].ValueData.fw_ver[0] != 0x00) + { + byte[] sn = new byte[33]; + for (int i = 0; i < 32; i++) + sn[i] = DeviceData.ModuleData[0].Information.BMS_SN[i]; + sn[32] = 0; + + tabStatus.TabPages[0].Text = String.Format("{0} [{1}] - {2}", "LFP MODULE" + , Encoding.UTF8.GetString(DeviceData.ModuleData[0].ValueData.fw_ver) + , Encoding.Default.GetString(sn).Trim('\0') + ); + } + else + { + tabStatus.TabPages[0].Text = String.Format("LFP MODULE"); + } + })); + } + else + { + if (DeviceData.ModuleData[0].ValueData.fw_ver[0] != 0x00) + { + byte[] sn = new byte[17]; + for (int i = 0; i < 16; i++) + sn[i] = DeviceData.ModuleData[0].Information.BMS_SN[i]; //22.06.30 Byul 32->16 + sn[16] = 0; + + tabStatus.TabPages[0].Text = String.Format("{0} [{1}] - {2}", "LFP MODULE" + , Encoding.UTF8.GetString(DeviceData.ModuleData[0].ValueData.fw_ver).Trim('\0') + , Encoding.Default.GetString(sn).Trim('\0') + ); + } + else + { + tabStatus.TabPages[0].Text = String.Format("LFP MODULE"); + } + } + } + + private void UpdateSnmpData(object sender, ref CsDeviceData.DeviceModuleData mData) + { + DeviceData.ModuleData[0] = mData; + uDataLog.UpdateData(DeviceData); + } + + private void UpdateConfig(object aConfig) + { + Config = (CommConfig)aConfig; + + IniLoad(ref Config); + } + + #endregion + + #region MENU EVENT + + private void commConfigToolStripMenuItem_Click(object sender, EventArgs e) + { + ConfigButtonClick(sender, e); + } + + private void exitToolStripMenuItem_Click(object sender, EventArgs e) + { + Close(); + } + + private void testSendToolStripMenuItem_Click(object sender, EventArgs e) + { + csHistoryFunction.DbCreate(System.IO.Path.GetDirectoryName(Application.ExecutablePath)); + } + + private void firmwareUpdateToolStripMenuItem_Click(object sender, EventArgs e) + { + if (rs485Thread == null) return; + + FwUpdateForm = new fmxFwUpdate(rs485Thread.ModuleID); + + FwUpdateForm.OnAutoTxSet += SetAutoTx; + FwUpdateForm.OnSendUartData += SetWriteData; + FwUpdateForm.ShowDialog(); + } + + private void historyViewToolStripMenuItem_Click(object sender, EventArgs e) + { + foreach (Form frm in Application.OpenForms) + { + if (frm.Name == "fmxHistory") + { + frm.Activate(); + return; + } + } + HistoryForm = new fmxHistory(Config, ModuleID); + + HistoryForm.OnSendUartData += SetWriteData; + HistoryForm.ShowDialog(); + } + + private void inventoryViewToolStripMenuItem_Click(object sender, EventArgs e) + { + foreach (Form frm in Application.OpenForms) + { + if (frm.Name == "fmxInventoryConfig") + { + frm.Activate(); + return; + } + } + InventoryConfig = new fmxInventoryConfig(ModuleID, ref Config, ref DeviceData.ModuleData[ModuleID - 1]); + + InventoryConfig.OnSendUartData += SetWriteData; + InventoryConfig.Show(); + } + + #endregion + + #region FORM EVENT + + private void fmxMain_FormClosing(object sender, FormClosingEventArgs e) + { + if (uartThread != null) + { + uartThread.Dispose(); + uartThread = null; + } + if (rs485Thread != null) + { + rs485Thread.Dispose(); + rs485Thread = null; + } + if (snmpThread != null) + { + snmpThread.disposeThread(); + snmpThread = null; + } + if (dbThread != null) + { + dbThread.Dispose(); + dbThread = null; + } + } + + #endregion + + #region STATUS BAR EVENT + + void DisplayCommStatus() + { + if (Active == true) + CommStatusBar.Text = "Comm: On"; + else + CommStatusBar.Text = "Comm: Off"; + } + + void DisplayCommStatus(string msg) + { + if (msg != "") + CommStatusBar.Text = String.Format("Comm: {0}", msg); + } + + void LogStatusUpdate(object sender, string msg, bool active, int aLogTime) + { + LogStatusBar.Text = msg; + + } + + #endregion + + #region COMMAND AND SET + + private void CommDataPrint(object sender, int id, string msg) + { + if (msg != "") + { + uEventLog.EventUpdate(id, msg + "\r\n"); + } + } + + private void SetWriteData(ushort WriteAddr, byte[] WriteData, bool RelyFlag, int type) + { + uartThread?.SetWriteReg(WriteAddr, WriteData, RelyFlag, type); + rs485Thread?.SetWriteReg(WriteAddr, WriteData, RelyFlag, type); + } + + private void SetCmdEvent(int sId, int cmd, int index, int flag, + ref CsDeviceData.DeviceModuleData.DeviceParamData aParam, + ref CsDeviceData.DeviceModuleData.DeviceCalibration aCalib) + { + if (MainStatus != null) + { + switch (cmd) + { + case 1: // Module quatity set + break; + case 2: + CreateModuleDetailForm(sId); + break; + } + } + uartThread?.SendProcessFromApp(sId, cmd, index, flag, ref aParam, ref aCalib); + } + + private void CreateModuleDetailForm(int sID) + { + foreach (Form frm in Application.OpenForms) + { + if (frm.Name == "fmxModuleDetail") + { + ((fmxModuleDetail)frm).SetModuleID(sID); + frm.Activate(); + return; + } + } + ModuleDetailForm = new fmxModuleDetail(sID, ref Config, ref DeviceData.ModuleData); + + //ModuleDetailForm.OnAutoTxCanSet += SetAutoTxCan; + //ModuleDetailForm.OnSendDataCan += SendDataToCan; + ModuleDetailForm.Show(); + } + + private void chbPolling_CheckedChanged(object sender, EventArgs e) + { + if (edModuleID.Text != "") + { + ModuleID = Convert.ToInt32(edModuleID.Text); + + if (uartThread != null) + { + uartThread.SetPolling(chbPolling.Checked, ModuleID, ref DeviceData.ModuleData[ModuleID - 1]); + ShelfStatus?.UpdateSystemId(ModuleID); + } + if (rs485Thread != null) + { + rs485Thread.SetPolling(chbPolling.Checked, ModuleID, ref DeviceData.ModuleData); + ShelfStatus?.UpdateSystemId(ModuleID); + } + snmpThread?.SetAutoTx(chbPolling.Checked); + + uDataLog.UpdateActiveStatus(Active, Config, ref DeviceData); + + edModuleID.Enabled = !chbPolling.Checked; + } + } + + private void SnmpRecvData(string result, bool error) + { + if (result != "") + { + uEventLog.EventUpdate(0, result + "\r\n"); + } + } + + private void SetAutoTx(bool autoTx) + { + uartThread?.SetAutoTx(autoTx); + } + #endregion + + #region KEYBOARD HOOK + private void edSystemId_KeyPress(object sender, KeyPressEventArgs e) + { + csUtils.TypingOnlyNumber(sender, e, false, false); + } + #endregion + + #region MENU COMMAND + private void inventoryControlToolStripMenuItem_Click(object sender, EventArgs e) + { + foreach (Form frm in Application.OpenForms) + { + if (frm.Name == "fmxInventoryConfig") + { + frm.Activate(); + return; + } + } + InventoryConfig = new fmxInventoryConfig(0, ref Config, ref DeviceData.ModuleData[0]); + + InventoryConfig.OnUpdate += UpdateInformation; + InventoryConfig.OnCommand += InvDataSetCmd; + //InventoryConfig.OnCommandBySnmp += SetInvEventBySnmp; + InventoryConfig.Show(); + } + + private void InvDataSetCmd(int sId, int mode, int index, int flag, ref CsDeviceData.DeviceModuleData.DeviceInforation aInvData) + { + DeviceData.ModuleData[0].Information = aInvData; + //OnCommand?.Invoke(sId, mode, index, flag, ref DeviceData.ModuleData[0].ParamData, ref DeviceData.ModuleData[0].CalibriationData); + //SetCmdToCan(sId, mode, index, flag, ref DeviceData.ModuleData[0].ParamData, ref DeviceData.ModuleData[0].CalibriationData); + } + + private void UpdateInformation(object sendor) + { + ((fmxInventoryConfig)sendor).UpdateData(ref DeviceData.ModuleData[0]); + } + + private void checkDBToolStripMenuItem_Click(object sender, EventArgs e) + { + foreach (Form frm in Application.OpenForms) + { + if (frm.Name == "fmxExcelFile") + { + frm.Activate(); + return; + } + } + fmxExcelFile DbControl = new fmxExcelFile(Config); + + DbControl.Show(); + } + + private void levelConfigToolStripMenuItem_Click(object sender, EventArgs e) + { + } + + private void changeLeToolStripMenuItem_Click(object sender, EventArgs e) + { + foreach (Form frm in Application.OpenForms) + { + if (frm.Name == "FmxLevelConfig") + { + frm.Activate(); + return; + } + } + FmxLevelConfig LevelControl = new FmxLevelConfig(Config); + + LevelControl.ShowDialog(); + } + + private void changePasswordToolStripMenuItem_Click(object sender, EventArgs e) + { + foreach (Form frm in Application.OpenForms) + { + if (frm.Name == "FmxPasswordChange") + { + frm.Activate(); + return; + } + } + FmxPasswordChange ChangePassword = new FmxPasswordChange(Config); + + ChangePassword.ShowDialog(); + } + #endregion + + #region TIMER EVENT + private void tmrDisplay_Tick(object sender, EventArgs e) + { + uTarget.UpdateStatus(Active); + DisplaySystemFwVerModule(); + } + #endregion + + #region MAKE TOTAL DATA + private void MakeTotalDataAndStatus() + { + if (Config.CommType == csConstData.CommType.COMM_RS485) + { + MakeTotalDataRS485(); + MakeTotalStatusRS485(); + MakeTotalAlarmRS485(); + } + } + + private void MakeTotalDataRS485() + { + int j = 0; + int vsum, csum, ssum, hsum, tsum; + int mQty = csUtils.GetModuleQty(Config); + + vsum = csum = ssum = hsum = tsum = 0; + for (int i = 0; i < mQty; i++) + { + if (DeviceData.ModuleData[i].ShelfCommFail == false) + { + vsum += DeviceData.ModuleData[i].ValueData.voltage; + csum += DeviceData.ModuleData[i].ValueData.current; + ssum += DeviceData.ModuleData[i].ValueData.SOC; + hsum += DeviceData.ModuleData[i].ValueData.SOH; + tsum += DeviceData.ModuleData[i].AvgData.avgTemp; + j++; + } + } + + if (j > 0) + { + DeviceData.TotalData.ValueData.TotalVoltage = (short)(vsum / j); + DeviceData.TotalData.ValueData.TotalCurrent = (short)(csum); + DeviceData.TotalData.ValueData.TotalSOC = (short)(ssum / j); + DeviceData.TotalData.ValueData.TotalSOH = (short)(hsum / j); + DeviceData.TotalData.ValueData.TotalTemp = (short)(tsum / j); + } + else + { + DeviceData.TotalData.ValueData.TotalVoltage = 0; + DeviceData.TotalData.ValueData.TotalCurrent = 0; + DeviceData.TotalData.ValueData.TotalSOC = 0; + DeviceData.TotalData.ValueData.TotalSOH = 0; + DeviceData.TotalData.ValueData.TotalTemp = 0; + } + } + + private void MakeTotalStatusRS485() + { + int mQty = csUtils.GetModuleQty(Config); + + switch (DeviceData.TotalData.StatusData.status) + { + case 0: // Standby + if (DeviceData.TotalData.ValueData.TotalCurrent > 50) // Discharging 5.0A + { + DeviceData.TotalData.StatusData.status = 2; // Discharging + } + else if (DeviceData.TotalData.ValueData.TotalCurrent < -50) // Charging -5.0A + { + DeviceData.TotalData.StatusData.status = 1; // Charging + } + else + { + bool flag = true; + for (int i = 0; i < mQty; i++) + { + if (DeviceData.ModuleData[i].StatusData.status != 3) + { + flag = false; + break; + } + } + if (flag == true) + { + DeviceData.TotalData.StatusData.status = 3; // Floating + } + } + break; + case 1: // Charging + if (DeviceData.TotalData.ValueData.TotalCurrent > 50) // Discharge -5.0A + { + DeviceData.TotalData.StatusData.status = 2; // Discharging + } + else if (DeviceData.TotalData.ValueData.TotalCurrent > -30) // Charging > -3.0A + { + DeviceData.TotalData.StatusData.status = 0; // Standby + } + else + { + bool flag = true; + for (int i = 0; i < mQty; i++) + { + if (DeviceData.ModuleData[i].StatusData.status != 3) + { + flag = false; + break; + } + } + if (flag == true) + { + DeviceData.TotalData.StatusData.status = 3; // Floating + } + } + break; + case 2: // Discharging + if (DeviceData.TotalData.ValueData.TotalCurrent < -50) // Charging -5.0A + { + DeviceData.TotalData.StatusData.status = 1; // Charging + } + else if (DeviceData.TotalData.ValueData.TotalCurrent < 30) // Discharge 3.0A + { + DeviceData.TotalData.StatusData.status = 0; // Standby + } + else + { + bool flag = true; + for (int i = 0; i < mQty; i++) + { + if (DeviceData.ModuleData[i].StatusData.status != 3) + { + flag = false; + break; + } + } + if (flag == true) + { + DeviceData.TotalData.StatusData.status = 3; // Floating + } + } + break; + case 3: // Floating + if (DeviceData.TotalData.ValueData.TotalCurrent < -50) // Charging -5.0A + { + DeviceData.TotalData.StatusData.status = 1; // Charging + } + else if (DeviceData.TotalData.ValueData.TotalCurrent > 50) // Discharge 5.0A + { + DeviceData.TotalData.StatusData.status = 2; // Discharge + } + else + { + bool flag = true; + for (int i = 0; i < mQty; i++) + { + if (DeviceData.ModuleData[i].StatusData.status != 3) + { + flag = false; + break; + } + } + if (flag == false) + { + DeviceData.TotalData.StatusData.status = 0; // Standby + } + } + break; + } + } + + private void MakeTotalAlarmRS485() + { + int mQty = csUtils.GetModuleQty(Config); + + bool aTrip, aWarning; + + aTrip = aWarning = false; + + for (int i = 0; i < mQty; i++) + { + if (DeviceData.ModuleData[i].StatusData.batteryStatus == 2) + { + aTrip = true; + } + else if ((DeviceData.ModuleData[i].StatusData.batteryStatus == 1) || (DeviceData.ModuleData[i].ShelfCommFail)) + { + aWarning = true; + } + } + if (aTrip) + { + DeviceData.TotalData.StatusData.batteryStatus = 2; + } + else if (aWarning) + { + DeviceData.TotalData.StatusData.batteryStatus = 1; + } + else + { + DeviceData.TotalData.StatusData.batteryStatus = 0; + } + } + #endregion + + #region EVENT CONNECT AND DISCONNECT + // UART 이벤트 연결/해제 + private void WireUart(csUartThread t) + { + if (t == null) return; + t.OnUpdate += UpdateDataUart; // EventHandler + t.OnDataRecv += UartRecvData; // EventHandler + t.OnPrint += CommDataPrint; // EventHandler + } + + private void UnwireUart() + { + if (uartThread == null) return; + uartThread.OnUpdate -= UpdateDataUart; + uartThread.OnDataRecv -= UartRecvData; + uartThread.OnPrint -= CommDataPrint; + } + + // RS485(Delta) 이벤트 연결/해제 + private void WireRs485(CsUartThreadSB t) + { + if (t == null) return; + t.OnUpdate += UpdateDataRS485; // EventHandler + t.OnDataRecv += UartRecvData; // EventHandler + t.OnPrint += CommDataPrint; // EventHandler + } + + private void UnwireRs485() + { + if (rs485Thread == null) return; + rs485Thread.OnUpdate -= UpdateDataRS485; + rs485Thread.OnDataRecv -= UartRecvData; + rs485Thread.OnPrint -= CommDataPrint; + } + #endregion + + #region EVENT HANDLER + private void UpdateDataUart(object sender, csUartThread.ModuleDataEventArgs e) + { + // 필요시 깊은 복사(바인딩 대상이 스레드 모두에서 변경될 여지가 있으면) + // var snapshot = e.Modules.Select(m => m.DeepCopy()).ToArray(); + // DeviceData.ModuleData = snapshot; + + DeviceData.ModuleData[0] = e.Module; // 참조 재할당만으로 충분하면 이대로 + + // ref 제거: UpdateData 시그니처도 ref 없이 받도록 변경 권장 + ShelfStatus?.UpdateData(DeviceData.ModuleData); + uDataLog.UpdateData(DeviceData); + } + + private void UpdateDataRS485(object sender, CsUartThreadSB.ModuleDataEventArgs e) + { + // 필요시 깊은 복사(바인딩 대상이 스레드 모두에서 변경될 여지가 있으면) + // var snapshot = e.Modules.Select(m => m.DeepCopy()).ToArray(); + // DeviceData.ModuleData = snapshot; + + DeviceData.ModuleData = e.Modules; // 참조 재할당만으로 충분하면 이대로 + + // ref 제거: UpdateData 시그니처도 ref 없이 받도록 변경 권장 + ShelfStatus?.UpdateData(DeviceData.ModuleData); + + MakeTotalDataAndStatus(); + MainStatus?.UpdateData(DeviceData); + uDataLog.UpdateData(DeviceData); + } + + // 핸들러 (대응되는 형태) + private void UartRecvData(object sender, DataRecvEventArgs e) + { + // e.Data 사용 + FwUpdateForm?.RecvData(e.Data); + //HistoryForm?.RecvUartData(e.Data); // 메서드명 확인 (오타 주의) + } + + // 핸들러 (대응되는 형태) + private void CommDataPrint(object sender, PrintEventArgs e) + { + var id = e.Id; + var msg = e.Message; + if (!string.IsNullOrEmpty(msg)) + uEventLog.EventUpdate(id, msg + "\r\n"); + } + + private void ErrorOnPrint(object sender, PrintEventArgs e) + { + var id = e.Id; + var msg = e.Message; + if (!string.IsNullOrEmpty(e.Message)) + uEventLog.ErrorUpdate(id, msg + "\r\n"); + } + #endregion + + #region EVENT DB COMMAND TO THREAD + private void UpdateAlarmHistory(DataTable aAlarmHistory) + { + uEventLog.AlarmHistoryUpdate1(aAlarmHistory); + } + #endregion + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxMain.resx b/LFP_Manager/Forms/fmxMain.resx new file mode 100644 index 0000000..4a82c22 --- /dev/null +++ b/LFP_Manager/Forms/fmxMain.resx @@ -0,0 +1,4583 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 225, 17 + + + 342, 17 + + + 94, 16 + + + 51 + + + + + AAABAAQAICAAAAEAGACoDAAARgAAADAwAAABABgAqBwAAO4MAACAgAAAAQAYACjIAACWKQAAAAAAAAEA + GAAoIAMAvvEAACgAAAAgAAAAQAAAAAEAGAAAAAAAgAwAAAAAAAAAAAAAAAAAAAAAAAD///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////+/v7+/v7+/v7+/v7+/v7+/v7+/v7/ + ///+/v7////////////////////////////////////////////////////////+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7////+/v7+/v3+/v3+/v3+/v7+/f3////////+/v7///////////////////// + ///////////////////////////+/v7////+/v7+/f3+/v7+/v3+/v3+/v3+/v7////7+ff///////// + ///////////////+/v3+/v7////+/v7////////////////////////////////////////+/v7////+ + /v7+/v7////////////////////////7+PbCnHejazCkbTKkbDKlbjSdYTDLrIr////9/Pz+/v7///// + ///////////////////////////////////////////+/v79/fz////BnHSeYjClbjSkbDKkbDOjazDc + x7L49PGkbDKEOACKQwCJQQCHPgCNRwTt49n+/v39/Pz+/v7+/v7///////////////////////////// + ///+/v7+/v79/Pv//v7j0sKHPgCJQACJQQCLRACCNgCufkv////////q3tKOSQePSgSPSwKRTQSHPgCt + e0f////9/Pv+/v7////////////////////////////////+/v7////9/f39/Pv9/PuiaS6JQQCQTQOP + SwKNSAOUUxLz7ef+/f37+Pb////AmnKGOwCQTAKOSQCPSwKHPwDaxa7////8+/r+/v7+/v7///////// + ///////////+/v7///7+/v77+vj////OsJGGPACQTAKOSQCQTAKGPADNr4/////7+ff9/Pv9/fz38u6Z + WhuLQwCPSgGPSgGLRQGcXyH59vP9/fz9/fz////+/v7////////+/v7+/v7////+/v77+vn////u5NqS + Tw+OSAKOSQCPSwKJQACiai/8+vn9/Pz9/f3+///9/Pv////WvqWHPQCQTAOOSQCQTQOGPADDn3j////8 + +/r+/v7////+/v7+/v7+/v79/fz8+/r9/f3////u49mdYSiKQwCPSwGOSQCPSwKKQgDi0L/////9/Pv+ + /v7//v7+/v79/Pz///+seUOIPwCQTAKOSQCOSQKNSAbq39P+/v39/Pz+/v7////////////////////+ + /v7SuJ6WVRiLRQCRTwaQTASSUAeHPgC4jV7////9/Pv+/v7////+/v7+/v79/Pz+/v7r39SOSQeOSgKO + SQCQSwKHPwCsekT+/v/9/Pz+/v78+/r49PDy6uPi0cDDn3yZXB9/MACEOACHPgCGOwCFPACEOgCTURDz + 7Ob9/fz9/f3////+/v7////////+/v78+/r////CnneGPACQTAKOSQCQTAKHPgDYwan////9/Pz38u7o + 2szgzbvTuZ/MrY/St5zeyrTcyLLcx7Hcx7HdybPVvKfl1cX////9/fz+/v7+/v7////////+/v7////9 + /f39/Pz59fObXiCKQwCPSgGPSgGLRAGaXB349PH9/fz+/v/////////////////28e3AmnrEn3rDn3nE + oXu+lnbcxrD////9/Pv+/v7////////////////////+/v7+/v79/Pv////bxa+HPgCPSwKOSQCQTAKG + PADAmnH////8+/r9/fz9/Pv7+ff9/Purd0F/MACGOwCFOgCEOQCEOADj0sH+/fz9/Pz+/v7+/v7///// + ///////////////////+/v79/Pz///+ufkqHPgCQTAKOSQCOSgKNRwPp3M/+/v79/Pv8+/r////YwaqH + PgCSTwaQTAOSTwaHPgDDn3n////9/Pv+/v7////////////////////////////+/v7+/v79/Pz+/v7t + 4tiNSAaNSAKOSQCQTAKJQQCqd0D+/v79/Pv9/fz49fKbXyCMRQGPSwGPSgGLRAGYWRn38+/9/fz9/f3/ + ///+/v7///////////////////////////////7+/v79/Pv////EoHqFOwCQTQOOSQCQTQOHPwDUu6H/ + ///////Dn3iGPQCQTQOOSQCQTAOGPQDWvaT////9/Pv+/v7+/v7///////////////////////////// + ///+/v7////9/f39/Pv59vScYCOLRQGPSwKPSgGMRQGWVhf7+ffu5duNSAaOSQKOSQCQTAKJQQCqd0D+ + /v79+/r+/v7////////////////////////////////////////////+/v7+/v78+/r////cx7GJQgCQ + TAOOSQCQTAKFOwC/mXKzhVSGPACQTAKOSQCPSgKOSQfq3dH////9/Pv+/v7+/v7///////////////// + ///////////////////////////////+/v79/Pv///+wgU6HPgCQSwKOSQCPSgGMRgCMRwCPSgCOSQCQ + TAKGPADAmnH////9/Pr+/v7////////////////////////////////////////////////////+/v7+ + /v79/Pz+/v3u5NuPSwmNRwGOSQCPSgCPSwGPSgGPSQCPSgGLRACYWRn38u79/fz9/fz///7+/v7///// + ///////////////////////////////////////////////////+/v79/Pv////HpoKFOwCQTQOOSQCP + SgCPSgCOSQCQTAOGPQDVvaP////9/Pv+/v7+/v7///////////////////////////////////////// + ///////////////+/v7////9/f39/fz7+fefZSiIQACOSQCNRwCNRwCOSQCGPQCrd0H+///9/fz+/v7/ + ///////////////////////////////////////////////////////////////////+/v7+/v79/Pv/ + ///fzLmSTxWXWBWWVhSWVhSWVhSWVRrq3dH////9/Pz+/v7+/v7///////////////////////////// + ///////////////////////////////////////////+/v7+/v7////38+728e328e328e328Oz49fD/ + ///+/v7+/v7///////////////////////////////////////////////////////////////////// + ///////+/v7////////+/v3////////////////////////+/v3////////+/v7///////////////// + ///////////////////////////////////////////////////////////+/v7////+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7////+/v7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACgAAAAwAAAAYAAAAAEAGAAAAAAAgBwAAAAAAAAAAAAAAAAAAAAAAAD///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7////+/v7+/v7///////// + ///////////////////////////////////////////////////////////////////////////////+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////// + /////////v7+/v7///////////////////////////////////////////////////////////////// + ///////////////////////////+/v7////////+/v7///////////////////////////////////// + ///38u38+vn8+vj8+vj8+vj8+vj8+vj8+vj7+ff////+/v3+/v7+/v7+/v7///////////////////// + ///////////////////////////////////////////////////////////////+/v7+/v7+/v7////7 + +ff8+vj8+vj8+vj8+vj8+vj8+vj7+ff59fK7kmmbXh+cXyCcXyCcXyCcXyCbXyCdYSGWVR3Fon3////9 + /Pz+/v7///////////////////////////////////////////////////////////////////////// + ///////+/v7+/v79/f39/fz///+1iFqXVx2cYCGcXyCcXyCcXyCcXyCbXiCcYCPn2Mv7+fencTqDOACM + RgCLRACLRACLRACLRACKQwCMRQLq3tL////9/Pz+/v7///////////////////////////////////// + ///////////////////////////////////////////+/v79/Pz////Zw6uGOwCMRQCLRACLRACLRACL + QwCNRwCCNQC4jmH////////r39SNRwWOSgOOSgGPSgGPSgGPSgGQTAOIPwCpdD3////9/fz9/f3////+ + /v7////////////////////////////////////////////////////////////////+/v7+/v79/f3+ + /f359vOZWxyLRACQSwKPSgGPSgGPSgGPSgGMRQKXWBn49PD+/fz8+vn////BnHWFOgCQTAGOSQCPSgCP + SgCOSQCPTAKFOwDVvaT////9/Pv+/v7///////////////////////////////////////////////// + ///////////////////////+/v79/Pv////BnXaEOgCQTAKOSQCPSgCPSgCOSQCPSwGGOwDVvKL////8 + +/r9/Pz9/f349fKZXB2KQwCPSgGOSQCOSQCOSQCPSgGLRAGXWBj38+/+/f39/f3+/v7+/v7///////// + /////////////////////////////////////////////////v7+/v79/fz+/v7r39SMRwWNSAGOSQCO + SQCOSgCOSQCPSwGHPgCpdT7////9/Pz+/f3+/v79/Pv////YwquGPACPSwGOSQCPSgCPSgCOSQCQTAGF + OgC+l23////9/fz+/v7////+/v7////////////////////////////////////////////////+/v7+ + ///9/f39/Pv///+qdkGHPQCPSwGOSQCPSgCPSgCOSQCOSAGLRALp3dH////9/Pv+/v7+/v7+/f39/fz/ + //+se0aHPgCQTAKOSQCPSgCPSgCOSQCOSQKLRALn2s3//v79/Pz+/v7///////////////////////// + ///////////////////+/v7+/v7////+/v78+vn////Rt5qGPACQSwKOSQCPSgCPSgCOSQCQTAKFOwC/ + mXL////9/Pz+/v7////////+/v79/fz///7s4deNSAeNSAGOSQCOSQCOSQCOSQCQSwKHPgCnczv+/v79 + /Pz9/f3+/v7+/v7////////////////////////////+/v7+/v7////////9/f38+/r////j08KNSQiN + RgGOSgCOSQCOSQCOSQCPSgCLRACYWhv48/D+/f39/f3+/v7+/v7+/v7////+/v79/Pz////Dn3qFOgCQ + TAGOSQCPSgCPSgCOSQCQSwGGPADSuJ3////9/Pz+/v7////////////////////////+/v7+/v7///// + ///+/v79/Pv////////cx7KPTA2LRQCPSgCOSQCPSgCPSgCOSQCPSwGGPADWvqb////9/Pz+/v7///// + ///////////+/v79/f3+/f359/SbXiCKQgCPSgGOSQCOSQCOSQCPSgCLRQCVVBT18Oz+/f39/fz+/v7+ + /v7////+/v7+/v7+/v7+/v7+/f39/Pz9/Pv////////49PC/mHSKQgCMRQCPSgCOSQCPSgCPSgCOSQCQ + TAKGPQCreEL////9/Pz9/f3+/v7+/v7////////////////+/v79/Pv////axK6FPACPSwKOSQCPSgCP + SgCOSQCQTAKEOQC8lGn////9/Pv+/v7////////////////////////////////////49fLQs5ibXyWH + PgCPSwKQTQOQSwKQTAOQTAKQTAKPSwOOSgOMRQPq3tP////9/Pz+/v7////////////////////+/v7/ + ///+/v39/Pz///+vf0uHPgCQSwGOSQCOSgCPSgCOSQCOSQGLRAHm18n////9/fz+/v7////+/v36+Pb5 + 9fLz7ejo2s3RtpuwgFCNRwN9LQCCNQCHPgCGOwCFOwCGOwCGOwCGOwCFOwCGPAB/MADCnnj////9/Pz+ + /v7////+/v7////////////////////+/v7+/v79/fz///7v5t6PSgiNRwGOSQCPSgCOSQCOSQCPSwGJ + QAClbjX+/f39/f39/f3//v769/XfzbjZw67QtJrEoX67kmq6kGa/mXLDn3rEoHzEoHvEoHvEoHvEoHvE + oHvEoHvDoHvDnnvEoH369/X+/v79/f3+/v7+/v7////////////////////////////////+/v79/Pv/ + ///GpICFOgCQTAKOSQCPSgCPSgCOSQCQTAKGPADQtJf////9/Pz+/v7///////////////////////// + ///////////////////////////////////////////////////////+/v7+//////////////////// + ///////////////////+/v7+/v79/f3+/f36+PadYiSKQwCPSgCOSQCOSQCOSQCPSgGMRgGUVBP07uj+ + /v39/fz+/v7+/v7+/v3+/f39/fz9/Pv7+vj+/f3cyLSXVyGcYCKcXyCcXyCcXyCcXyCdYSKUUxzDn3z9 + /Pz9/Pz9/f3////+/v7////////////////////////////////////////+/v79/Pz////cx7KHPwCP + SgGOSQCPSgCPSgCOSQCQTAKGPAC5kGP////9/Pv+/v7//v7+/v7+/v7+/v79/f39/fz7+feeYyaGPACL + RQCLRACLRACLRACLRACIQACQTAnw59/+/v79/f3+/v7+/v7///////////////////////////////// + ///////+/v7///79/f39/Pv///+xglCGPACQSwGOSQCPSgCOSQCOSQCOSQGKQgDk1MT////9/fz+/v7/ + ///////+/v79/Pz////HpoOFOgCQTAKOSgCPSgGPSgGOSgGQTAKFOwDPs5b////9/Pv+/v7///////// + ///////////////////////////////////////////+/v/+/v79/Pz+/v7w59+PSgiMRgGOSgCPSgCP + SgCOSQCPSwGIQACiajD+/f39/f39/f3///7+/v79/fz+/v7w6OCPSgmNRwGOSQCOSQCOSQCOSQCPSwKI + PwCiaS79/fz9/fz9/f3+/v7+/v7///////////////////////////////////////////////////7/ + ///+/v79/Pv////Ip4WFOgCQTAKOSQCPSgCPSgCOSQCQTAKEOQDOsZP////9/Pv+/v7+/v79/Pv///+x + glGFOwCQTAKOSQCPSgCPSgCOSQCOSgKIQADj08L////9/Pz+/v7///////////////////////////// + ///////////////////////////////+/v7+/v79/f39/f38+vmeZCeJQQCPSwGOSQCOSQCOSQCPSgGM + RQGRTw7z7ef+/v39/f39/Pz////fzLiHPQCPSgGOSQCPSgCPSgCOSQCQTAGFOwC4jF/////9/fz+/v7+ + /v7+/v7////////////////////////////////////////////////////////////////+/v79/fz/ + ///fzLqHPgCOSgGOSQCPSgCPSgCOSQCQTAGFPAC3jF7////9/Pz+/f38+vifZCiJQQCPSwGOSQCOSQCP + SgCOSgGLRQGTURDz7ef+/v39/f3+/v7///////////////////////////////////////////////// + ///////////////////+/v7////+/v79/Pv///+zhVWFOwCQTAKOSQCPSgCPSgCOSQCOSgKJQQDi0cH+ + /v7////JqYeFOgCQTAKOSQCPSgCPSgCOSQCQTAKEOgDNsJH////9/Pv+/v7////+/v7///////////// + ///////////////////////////////////////////////////////+/v7+/v79/fz+/v3w6eGRTQyN + RwGOSQCOSQCOSQCOSQCPSwKJQQChaC7////x6eKRTgyNRgGPSgCPSgCOSQCOSQCPSwGJQQCiajD8+/r9 + /fz9/f3+/v7+/v7///////////////////////////////////////////////////////////////// + ///////////////+/v79/Pz////LrIuFPACQTAGOSQCPSgCPSgCOSQCQSwGFOwDPspW5j2SGPACQSwGO + SQCPSgCPSgCOSQCOSgGJQgDj0sL////9/Pz+/v7///////////////////////////////////////// + ///////////////////////////////////////////+/v7+/v79/f39/fz9/PygZyuJQACPSwGOSQCO + SQCOSQCOSQCOSACOSACNSACOSQCOSQCPSgCPSgCOSQCQTAKFOwC3i13////9/Pv+/v7////+/v7///// + //////////////////////////////////////////////////////////////////////////////// + ///+/v79/Pv////hz72JQACPSwKOSQCPSgCPSgCOSQCPSgCOSQCOSQCPSgCOSQCOSQCOSQCOSQCMRgGS + UA/y6+X+/v39/fz+/v7+/v7///////////////////////////////////////////////////////// + ///////////////////////////////+/v7////+/v79/fz///+1iVuGPACQSwGOSQCPSgCPSgCOSQCP + SgCPSgCOSQCPSgCPSgCOSQCQTAGFOgDNrpD////9/Pz+/v7///////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7+/v79/f3+ + /v3y6+SSUA6MRQGOSgCOSQCOSQCPSgCPSgCPSgCPSgCOSQCOSQCPSwGIQAChaS78+/r9/Pz9/f3+/v7+ + /v7///////////////////////////////////////////////////////////////////////////// + ///////////////////////////+/v79/Pv////NsJGFOwCQSwGOSQCPSgCPSgCPSgCPSgCOSQCPSgCO + SQCOSQGJQQDi0cD////9/Pv+/v7///////////////////////////////////////////////////// + ///////////////////////////////////////////////////////+/v7+/v79/f39/Pz8+/qiai+J + QACRTQSPSwKQSwKQSwKQSwKQSwKPSwKRTgSGPAC2iVr////9/Pv+/f3////+/v7///////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////+/v79/Pv////j08KGPQCHPQCHPgCIPgCIPgCIPgCIPgCHPwCFOgCRTgvy6uP+/f39 + /fz+/v7+/v7///////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////+/v7////+/v79/f3////JqIeufFOzhVezhFaz + hFazhFayhFazhVete1TWvqb////9/fz+/v7///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/v7+/v7+/v3////////////////////////////////////////+/v3+/v7+/v7+/v7///////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////+/v7+/f3+/f3+/fz+/fz+/fz+/fz+/fz+/fz+ + /f3+/f3///////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAgAAAAAABAAABABgAAAAAAADIAAAAAAAAAAAAAAAA + AAAAAAAA//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////v7+/v7+//////////////////////////////////////////////////////////// + /////////////////////////////////////////fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v39/v7+/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////v7+/////v7+/f38/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/////v7+ + /f39//////////////////////////////////////////////////////////////////////////// + ////////////////////////2MCn3Maw3Maw3Maw3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew + 3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Maw3Mex2cOs8uvk/v7+/f39/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+/f39////4tHA2sSs3Mex3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew + 3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mex3Mew3Mex2cKr9vHtqXQ9ikIAiUEAiUEAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAiUEAikMAgzgAq3hH/v39 + /fz8/v79/v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7+/fz8////49PCiUIBiUEAiUEA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAiUIAiUEAi0MAgzkA + nmMq+vj1/v39sYJUhz4AkU0Ej0oBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0oBj0oBkEwDhz0A1buh/////fz7/v7+/v7+/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v39/Pz8/Pr5pGw1iEAAkE0Dj0oBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sBj0sDjEYG49LC////////7OLWkU4PjEYBj0oBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAj0sBikQAmFod9fDq/v39/v39/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////7+/v7+/v7+/v7+/Pv6////za+QhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChjsAuo9l////+/n4+ff1//// + x6aFhDsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAkEwChTwAv5dw/////Pz7/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/f38/v798evik1IV + i0UBj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkoA + j0oBi0QBlVQX8+zl/f39/fz8/fz8/fz8+vbzoGYuiEAAj0sBjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjkoAjkkAjUkBjEgG6NvN/////fz8/v7+/v7+/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////7+/f7+/v7+/fz7////topehjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sChTwA0LWY/////Pv7/v7+/v///Pz7////3sq3iEABjkoC + jkkAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEsC + hz8Ap3I//fz7/fz8/v79/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v39/v///Pz7////3867iEAAjkoCjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEsChz8ApnE5/fz8/Pz7 + /v7+/v7+/v7+/v7+/Pv7////tIZYhjwAkEwBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0sChTwA0rec/////Pz7/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/v79/fz8 + +/r4oWgwiEAAj0sBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + j0kAjkkAjkoAjkkBikQF5dbG/////fz7/v7+/v7+/v7+/v7+/fz8/v7+8OffkU8QjEYBj0oAjkkAjkoA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAj0oBikMAllcb9O/p + /v39/f38/v7+/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/v7+/Pz7////yquLhTsAj0wCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChToAu5Nq/////Pz7//7+/v7+/v7+/v7+/v7+ + ///+/Pz7////y6yNhTsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAkEwBhTsAu5Rr/////Pz7/v7+/v7+/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz8/v7+7+bckU4PjEYBjkkBjkkA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjUkAj0oBi0QBllcb + 9e/p/v39/f38/v7+/v7+/////////v7+/v7+/v79/fz8+vj1oWgwiUEAj0sBjkgAjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkCi0QF5NXG/////fz8/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+//7+/f39 + /v7+/fz7////tIdZhjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkAj0sChj0A0rec/////Pz7/v7+/v7+/////v7+/v7+/////v7+/v7+/Pz7//// + 38y4ikIDj0oCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0sBhz8Ap3I8/Pv5/fz8/v39/v79/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////v7+/v7+/Pz7////3sm2iUIBj0oBjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEsCiD8AqHM+/fz7/Pz8/v7+/v7+/v7+ + /v7+/////////v7+/v7+/v7+/v7+/Pv7////topehTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAkEsChjwA0bWa/////Pv6/v7+/f39/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/f39/fz8+vj2n2UriUEA + j0sBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkoA + jkgBjEYG5tjJ/v7+/f37/v7+/v7+/////////////////////////v7+/v7+/f39/v398uriklETi0YB + j0oAjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oB + i0UAlVYZ8+3m/f79/f38/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/v7+/Pv6////yKeFhTsAkEwCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChjwAvpZv/////Pz7/v/+/v7+/v7+/v7+//////////////// + /v7+/v7+/v7+/v7+/Pz7////za6QhTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTwAuZBm/////Pv6/v7+/v7+/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v79/v7+/fz7/v7+7ePYkU4QjEcBjkkBjkkAj0oAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0QBmFof9e/p/f39/v39 + /v7+/v7+/////////////////////////////////v7+/v7+/v7+/fz8+/n3o2s1iUEAkEsBjkkAjkkA + jkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAjkkCikQD5NPD + /////Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v79/Pv7/v/+ + sIFShjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAj0sChj0A1Lqg/////Pz7/v/+/v7+/////v7+/////////////////////////v7+/////v7+ + /v7+/fz7////4tHBikMEjkkCjkoAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0sBiEAApW43/Pv5/fz7/v39/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/////Pv6////2sawiD8Aj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEsChz8AqnhE/v79/Pz7/v7+/v7+/v7+/v7+//////// + /////////////////////////v7+/v7+/v7+/v7//fz7////uI1hhj0AkEwCjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0wChj0AzrCT/////Pv6/v7+ + /f39/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/v7+/f38/f389vLtm18jikMAj0oBjkkAjkkA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkoAjUgBjUgH6NzO + /v7+/fz8/v/+/v7+/////////////////////////////////////////////////v7+/v7+/f38/v39 + 8uvjlFUWi0UBj0oBjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0oAjkkAj0oBjEYBlFMW8enh/v79/fz7/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7//v7+//7+/f39 + /Pv6////t4thhjwAj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAkEwChTsAwJp0/////fz6/v7+/v7+/v7+/v7+//////////////////////////// + /////////////v7+/////v7+/v7//Pv7////zrGUhjwAj0wCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwChjwAt4xg/////Pv7/v7+/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7//v3+/Pr6////0bWYhj0Aj0sCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkkAjkkAj0sBi0MAmVsg9vHs/v39/f39/v7+/v7+//// + /////////////////////////////////////////////////v7+/v7+/v7+/v7+/f38/Pr4pW85iD8A + kEsCjUkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + jkoCikIC4tHA/////Pv7/v7+/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7++/r5////38y4i0UHjUgBjkoA + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0wC + hz4A1r6m/////Pz7/v7+/v7+/////v7+//////////////////////////////////////////////// + /////////v7+/v7+/fz8////49LCjEYFjkkCjkoAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBiEAAomoy+/n2/fz7/v39/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v7+/v7+ + /v7++/r5////5NTCj0wQi0UAj0oAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAkEwChz8ArHpI/v7+/fz7/f79/v7+/v7+/v7+//////////////////// + /////////////////////////////////////v7+/////v7+/v7+/Pz7////upBnhTwAkEwCjUgAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0wChToAyqyM + /////Pv6/v7+/v7+/////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/////v7+/v7+/v7+/f39/Pr5////4c+9kE0SikQAj0sBjkkAjkkAj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjUgCjkoJ6d3R/v7+/f38/v7+ + /v7+/////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v39/f399O3nl1gci0UBj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oAjkkAj0oAi0UBk1ET8Ofe/v39/fz7/v7+/v7+/////v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////////v7+//7+/v7+/Pv6/f38////1LuijkkLi0QA + j0sBjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChjwAwp14/////Pv6/v7//v7+/////v7+//////////////////////////////////////// + /////////////////////////////////v7+/v7+/Pv6////0baahj4AkEwCjkkAjkkAj0oAj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwBhTwAtYlc/////Pv6/v7+ + /v7+/v7+//////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/////v7+/v7+/v7+ + /v79+/v5////+/n1wJp1iEEAjUYAj0wBjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBikMAnWAn9/Lu/fz7/f39/v7+/v7+/v7+//////////// + /////////////////////////////////////////////////////////////v7+/v7+/v7+/v7+/Pz7 + /Pv5p3I9iD4AkEwCjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAj0oCiUEA3826/////Pv6/v7+/v7+/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/////////v7+/v7+/v79/Pv6/f3+////6dzPpW89hjwAj0oBj0oBjkkAjkkAj0oAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAj0sChz4A2MKq//// + /Pv6/v7+/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz7////5dbGi0UGjkkCjkoAjkkAj0kAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBiEAAoGct+vj1/fz7/v39/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/v7+/////////v7+/v7+/f39/fz7/fz8////+vj0xaOCjkkJhz8A + j0sBj0oAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAkEwChz0Arn1L/////Pv6/v7+/v7+/v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/////v39/v/+/Pv6////vZZuhjsA + kEwDjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUgA + j0wChDoAyKiI/////Pv6/v7+/v7+/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+///////////+/v7+/v7+/v79/Pv6 + /f38////////28ayn2cyhTwAjEcAj0sCjkkAj0oAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjUcCjkoK69/U/v7//fz7/v7+/v7+/////v7+ + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/f39/f399fDrl1kci0UBj0sBjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkoAjEUAkU4P7+bc/v79/fz7/v7+/v7+/////v7+//////// + /////////////////////////////////////////////////////////v7+/////v7+/v7+/////v7+ + /////v7+/v7+/v7+/fz8/Pv6/v7+////////4M68qnhHiD8AiUEAj0sCj0oAjkkAjkkAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkE0DhjwA + xaJ//////Pv7/////v7+/v7+/v7+//////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/Pv6////07qghz4Aj0wDjkkAjkkA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwBhjwAsoRU + /v///Pv6/v7+/v7+/v7+/////////////////////////////v7+/////v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+///+/v7+/v7+/////v7+/v7+/v79/fz8/Pv6/fz8////////+/n32sSvqnZHikIAhz8AjkoA + j0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjUkAj0sCikMAnmMp+PXx/f38/f39/v7+/v7+//////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/Pz7/f38qXVBiEAAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAj0oBiD8A3cm0/////Pv6/////f39/v7+/v7+//////////////////// + /////////////////////////////v7+/////v7+/v7+/v7+/v39/fz7/Pv6/fz7/f7+//////////// + 7OHWyaiHn2UviD8Ahz4AjkkAj0sCjkkAjkkAjkoAjkoAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wDiEAA28Wv/////Pz7/v/+/v7+ + /////v7+//////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////v7+/v7+/fz7/v//6NrNjkkJjkkCj0kAjkkAjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBiUIAn2Ur+fb0/fz7/f39 + /v7+/v7+/////////////////////////v7+/v7+/v7+/v7+/f38/fv6/fz7/fz6/Pv6/fz8/fz8/v7/ + /////////////////Pz66dzPza6Qq3dGkE0Mhj0AikMAj0sCj0sCj0oAjkkAjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + kEwChz4AsIJS/v7//Pv7/v7+/v7+/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v7+/////Pv6 + ////v5lzhTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkgAkEwBhDoAxqSC/////Pv6/v7+/v79/v7+/v7+/////////////////v7+/////v7+/v7+ + /////////////////////////////v788+3l5NTE07icuY5moWgvj0sIhz4AiUIAj0oAkE0FkU0Dj0sC + kEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsB + kEsBkEsBkEsBkEsBkEsBkEsBj0sBkEwCjEgBkE4O7eTa/v7+/fz8/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/f38/f389vHsmVsgikMBj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAjEYBkEwN7ePY/v7+/fz7/v7+/f39//// + /v7+/////////////v7+/v7+/f38/v//28ayxqSAy6uKxKF6vJNssoReqHNEmVwlkEwKhjwAgTQAgDQA + hDoAiEAAikMAiUIAiEEAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAA + iEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiUIAgjYAx6WD/////Pv6 + /v7+/v7+/////v7+//////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/////v7+/v7+/Pv7////1r2khz4A + j0sCjkkAjUkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + kEwBhjwAsYFR/////fz7/v79/v7+/v7+/////////////////v7+/v7+/v39/v7+4M27za+O0bWW0LOU + z7OV0LOZ0bac07mg1ryk2MCo2cKr2cKs2MGq2MCp18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co + 18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co + 18Co18Co2MCo1r+n2MGq+vf0/v39/v79/v7+/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/v7+/Pv6/v39rHpIhz4Aj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0oBiUEA3May/////Pv6/////f39/v7+/v7+//////// + /v7+/////v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7//v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz7/v7+6d3RjUkJjUgBj0oAjkkA + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBikIAnWIn + +PXx/fz8/f39///+/v7+/////////////////v7+/////////v39/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz8/fz7+/n3+/n3+/n3+/n3+/n3+/n3 + +/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3/Pr4/fz7/fz8 + /fz8/v7+/////v7+/////v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v7+/Pv7////wZx2hDsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAkE0ChjwAxKF8/////Pv6/v7+/v7+/v7+/v7+/////v7+/////v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v///v7+/////v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/f39/f389/Ltm14iiUIAj0oBjkkAjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkoAjUgCkE0N7OHW/v7+/f38 + /v7+/v7+/////v7+//////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/f79/f39+vj20LSYzrCSz7GUzrGTz7GTz7GTz7GTz7GTz7GTz7GT + z7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTzrGTzrGTza+S0LSY+vj1/v7+/v79/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v7//Pz7 + ////2cKriD8Aj0sCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAkEwChz8Ar35O/v7+/fz8/v7+/v7+/v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/v7+/fz7////yaiIgDMAhz0A + hTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhjsAhTsAhDsAhz4A + fS0AtIdb/f38/Pz8///+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+/v7+/fz7/v//rn1Khz0Aj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sCiEAA2MGq/////Pz7/v///v7+/v7+ + /v7+/////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v7+/f38/v797+bdkU8PjUkDkU4Fj0wDkEwDkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0D + kE0DkE0DkE0DkE0DkEwDkE0DkU4FjEcFmVwe9/Pu/v7+/v38/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7//fz7/v7+69/UjkoL + jUgBj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + j0sCikMAm18j+PXw/f39/f39/v7+/v7+/////v7+//////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/fz7////tIZYhj0AkEwCjkgAjkkAj0oAjkkAjkkA + jkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAj0oAjkkAjkkAj0sChj0A0rec/////Pv7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/////Pv6////xKF9hTsAkEwCjkkAjkkAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTsAw596/////Pz7/v7+/v7+/v7+//////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/fz7////3sq3 + iUIAjkoCj0kAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkA + jkkAj0wBiD8AqHM+/fz7/Pz7/v7+/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v3+/v39/fz8+PXxnWIpiUIAj0sBjkkA + jkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkoAjUgBjkoK + 6t7S/v7+/fz8/v7+/v7+/v7+/v7+//////////////////////////////////////////////////// + /////////v7+/v7+/f39/f38+vj1oGgviUEAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkgCjEYH5tjJ/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /v7+/v7+/Pv6////2cStiEAAj0oCjkkAjkkAj0kAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkgAkEwChz4ArHpH/f38/fz8/v7+/v7+/v7+//////////////////////// + /////////////////////////////////v7+/v7+/v7+/v7+/fz8////y6yNhTwAkEwCjkkAjkkAj0kA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTwAvZRs//// + /Pv7/////v7+/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/v7+/Pv7/v7+r4FQhz0AkEwBjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkgAj0kAkEsChz4A17+n/////Pz7 + /v7+/v7+/v7+/v7+/////////////////////////////////////////////////////v7+/v7+/f38 + /v798enfklISjEYBj0oBjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAj0oBi0QAl1gb9O/p/fz8/v38/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/fz8 + /v7+7ePakE0NjEcBj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAj0sCikMBml0i9/Pu/f39/f39/v7+/v7+//////////////////////////////////// + /////////////v7+/v7+/v7+/v7+/Pz7////toldhj0AkEwCjkkAjkkAj0oAj0kAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjUkAjkkAj0sChTwA0baa/////Pv7/v7+/v7+/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+//7+/Pv6////x6SDhTsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjUgAjkkAkEwChTwAwZx1/////Pv7//7+/f39/v7+ + /v7+/////////////////////////////////////v7+/////v39/v7+/fz7////4M67ikICj0oCjkoA + jkgAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0sBiD8A + pnA8/Pv6/fz7/v7+/v7+/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v79/fz8+fbznmMq + iEEAj0sBj0kAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + jkoAjUkCjUgI59rM/////fz8//7+/f39/////v7+/////////////////////////////////////v7+ + /v7+/v39/f38+vj1oWgwiUEAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0kAjkkAj0kAjkkCi0QG5dXF/////fz7/v7//v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////v7+/v///Pz7////3cm1iEAAjkoCjkkAjUgAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChz8AqndD/fz7/fz7/v7+/v7+/v7+//////////// + /////////////////////v7+/v7+/v79/v7+/Pz7////y6uMhTwAkEwCjkkAjkkAjkoAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTsAu5Fn/////Pz7/v7//v7+ + //7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7+/Pz7////s4RVhjwAkEwCjkgA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkkAj0wChz4A + 1bui/////Pz7/v7+/f3+/v7+/v7+/////////////////////v7+/////f39/v7+/f38/v398Ojfk1ES + jUYBj0oBjkkAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + j0oBi0UBllYa8+zl/fz9/v38/v7+/v7+/v////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7//f38/v797+XckE0OjEYAj0oAjUgAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAj0sBi0QBmVoe9vHr/f39/f39///+/f39/////v7+//////////////// + /////v7+/v7+/v7+/Pz7////tYldhj0AkEwCjkkAjkkAj0oAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0oAjUkAjkkAj0wChTsA0bWZ/////Pv6/v7+/v7+/v7+//7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/v7+/Pz7////yKiGhDoAkEwDjkkAjkkAj0oAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkgAjkkAkEwChjwAv5dw/////Pv6 + /v7+/v7+/v7+/////////////////v7+/v7+/v7+///+/fz7////4dC/ikMDj0oCjkkAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wCiD8ApW85/Pv5/fz7 + /v79/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/v39 + /fz8+/j1oGYtiUEAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAjkoAjkkCjEcG5tjK/////fv7//7+/v7+/v7+//7+/////////////v79/v7+/f39/fz8 + +/r4o2oziUAAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0oAjkkCi0UF5NTE/////fz8/v7+/v7+/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////v7+/v7+/fz7////3su4iUEBj0sCjkkAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEwChz8AqHRA/f38/fz7/f39/v7+/v7+ + /v///////v7+/v7+/v7+/v/+/Pv7////za+RhTwAkEwCjkkAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkE0ChjwAu5Jo/////Pz7/v7+/v7+/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/fz7////tIdZ + hjwAkEwCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + jkkAj0wChjwA0rec/////Pv6/v7+/f7+//7+/v7+/////v7+/v7+/f38/v7+8erilFITjEYBj0oBjkkA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0UAl1YZ + 8+3m/f39/f39/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/fz8/v398Offk1ISjEcBj0oAjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBi0QBl1ga9O7n/f38/f39/v7+/v7+/////v7+/v7+ + /v7+/Pv6////t4tfhjwAkEwCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0oAjkkAjkkAkEwChz4A0LWZ/////Pz7/v7//v7+/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+/v7+/Pv7////zK2Ohj0AkEwDjkkA + jkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkgAkEwChjwA + u5Nq/////Pv6/v7+/v7+/v7+/v7+/v7+/Pz7////4dC+ikMCj0oCjkkAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wCiEAAp3E7/Pv5/fz7/v79/v7//v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/////v7+/fz7+/j2o2sziUEAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkAjkkAjkoAjkkCjEcG5dbH/////Pz7/v7+/v7+/v7+/v39/fz8+/n3pG00iUEA + j0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0kA + jkkCikQE49PC/v7//fz8/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////4c+9iUICj0oCj0kAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBiEAAp3E7/Pv5/fz8 + /v79/v7+/v7+/Pv6////zK+Qhj0AkEwCjkkAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkgAkE0ChTwAuY9j/////Pv6/v7+/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/v7+/v7+ + /Pv6////t4xghjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAjkkAkEwChj4Az7OX/////Pv7/v7+/f38/f398erilFQVi0YBj0oBjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0UBlVUW8+zl/v39/f39 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/f38/v7+8+zllFQVi0UBj0oAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0sBi0UAlVUX8uzk/v39/fz8/Pz7//// + t4xhhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oA + jkgAjkkAj0wChjwA0LOX/////fz7/////v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v///fv7////zrGU + hjwAj0wCjkkAjUkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChTwAuI5k////+/r5////4tHAiUIDjkoCj0oAjUkAjkoAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0wCiUAApW84/Pv6/f38/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v///v7+/f38+/r4pG02iEAAj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0kAjkoCikMD4tC//v79+vj1pG02hz8AkEsBjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkkCi0QF49TD + /////fz8//7//v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/////fz8////49TEi0UFjkkCj0oA + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBiEAA + oWkx////zrGThTsAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkgAkEwChj0AupBl/////fz8/v///v7+/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/v/+/fz8////uZBkhj0AkE0CjkgAjUkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAjkkAjkkAj0sAiEAAwZ12m18iikIAj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjEYBlVYX8uzl/v79/v39/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/f39/v398+zmllYXjEYBj0oBjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAjkkAjkkAikMAjEYAjkkA + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjkgAjkkAkEwC + hj0Az7SX/////fz7//7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//7+ + /fz7////0bWZhz0Aj0wCjkkAjUgAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0oBjkoAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAjkkAjkkAj0wCiEAApW86/Pv5/fz8/v7+//7+/v7+//7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+//7+/v7+/fz8/fz7p3I+iD8Aj0wCjkkAjkkAjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAjkkAj0kCikQF49PD/////Pz8//7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+//7+/fz8////5dbH + jEYHjkoCj0oAjkkAj0kAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oA + jkkAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChj0AuI1i/////fv8/v/+/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/v7+/v///fz7////vJRqhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oBjEUBlFQW8uri/v7+/f39/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/f39/f399O7ol1kci0QBj0sB + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjUgAjkkAj0wChj0AzbCT//// + /Pz8/v7//v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/Pz7////07mfhj0Aj0wCjkkAjUgAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjkkAjkkAkEwCiEAAomw0/Pr4/f39/v7+/v7+/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////v7+/v7+/fz8/fz8qHNAhz8AkEwCjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkkCiUIC4dC+/////fz7/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz8////5tjJi0YFjUgCj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAkEwChTwA + t4tf/////fz7/v7+/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/v7+/fz7////vZZuhTsAkE0CjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0oBi0YBlFMT8eri/v7+/f38/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v39/f399vHs + mVseikQAkEsBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkgAjkkAkEwChj0Aza+Q/////Pv6/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/Pz7////1Luhhz4AkEwCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + j0sAiEAAo2w0/Pr4/fz8/f39/v7+/v7+/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/v7+/v79/fz7/f38qndDhz8AkEsB + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAjkkAjkkAjkkBi0QD4c+9/////Pz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/fz7/v7+6NvNjUkIjUgBj0kAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwBhTsAt4xf/////Pv6 + /v7+/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/Pv6////wZt2hTsAkEwBjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0oAi0UAlFIT8eri/v39/fz8/v7+/f39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/v7+ + /f38/fz89vHtmVsfikMAj0sAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEsChDoAy6uN/////Pv6/v7+/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/f3+/v7+/Pv7////1r6lhj0Aj0oBjkkAjUkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sAiEAAoWkx + +/n3/fz8/f39/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v39/fz7/v7+ + rXtJhj0AkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oBjkkAj0oBjkoCiEEA4M68/////fz7/v7+/v39/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////f39/v7+/fz7/v7+69/SjkgJi0UAjkgAjUcAjUgAjUgAjUgAjUgAjUgAjUgAjUgA + jUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUcAjUcAjkoAhDkAtYlb/////Pz6/f7+/v7+/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/v39/v7+/Pz7////xKF9jEcSlVQW + k1IUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUk1IUlFMV + kU8TmVoj8ejg/v39/fz7/v7//f39/v////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v///f39/f38/Pv67+bd8Ofe8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off + 8Off8Off8Off8Off8Off8Off8Off8Off7uXd9O7o/////f39/v7+/v7+/v7+//7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v////7+/v7+/v7+/v7+//////////////////////// + /////////////////////////////////////////////////////////////////////////v39/v7+ + ///+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////7+/v////// + /////v7+/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v79/////////v7+/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/////v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAEAAAACAAABABgAAAAAAAAgAwAAAAAAAAAAAAAA + AAAAAAAA//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v79/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////9/Lt9/Pu + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Pt/v7+/v79/v7+/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v79/v799/Ls9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Pt9/Lt/v39pm80omkso2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2svnmMrzrGR/////fz7//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/fz8//// + 1bygnGAqo2svo2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2svnWEruY9i/fz8wJpwkUwEiUIAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0UAiUAAlVQT7uTZ + /v39/fz8/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f38/v7+9O3nmFkViD8Ai0UAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAikMAi0MA3sq1/v7+/fz8wJhviD8AkU0Fj0sCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkU0EiD8AuItb/////f38/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7////vZNniD8AkU0EkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCj0sCkU4EiUAAuY9h + /////Pn4/v7+9e/pnF8ei0UAj0oBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0MA3cix/////fz7//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////Pz7////49G/j0oHjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEYBl1cU8urj/v39/fv6+vf0//// + 1LqfikIAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoAj0sBikIAoWcq9vLt/fz7/v39/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /f38+/n3p3A0iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEAzrCQ/////fz7/v7+/fz7/fz7+/n3q3hBiUAAkEsC + j0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiEAAyKaB/////fz7/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/Pz7////z7GRiUEAkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oBikIApnA0/fz7/v39/v7+/////////f38////6NrMkEwHjUgBjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoA + jUgBlFIO7uTa/////f38//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz8/v398OfellYTjEYBj0oBj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgB + jUYA4tG+/////fz7/////v7+/v7+/////fz8////wJpvhz4Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsCiD8As4RR/fz7 + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v38////uY9ghz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8Au5Fk/////f38/v7+ + /v7+/////////v7+/fz8/v389e/pnmMmi0MBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCi0QB3Mav/////fz8/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/Pz8////4tG+jUgCjkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0UAmFkW9e/o/v7+/f38//////////////////// + /////fv6////17+miUEAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikMAoWgp+vfz/v7+/v79//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f39/fz8+/j2pW4z + iUAAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAj0oBiUEA0ria/////fz8/v7+/v7+/////////////////v7+/v39/v39/v/+ + sH9LiEAAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoAj0sCiD4Ax6Z//////fv6/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////7+/v7//fz8////yqqHiD8Aj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0sCiUIAqXU7/fz7/v39/v39/////////////////////////////v7+/fz7/v7+6t3PkU4NjkgCjkoB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0oAjUcBkU0N7ODU/////f39/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v///f38/v7+7+bdlVMOjEYBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkBjUgB5dXG//// + /f38/////v7+//////////////////////////////7//fz7////w551iD4AkEwCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sB + hz4Ar35J/v39/fz8/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v39/fz7////tolYhz4Aj0sDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBiEAAvZZq/////f37/v7+/v7+//////// + /////////////////////v7+/////f39/v7+9vHsnmMki0QAj0sAj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oCi0QB2cKo//// + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz8//// + 3su3jUcDjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBmlsZ9O7n/v79/f38//////////////////////////////// + /////////v7+/v7+/fz6////2cGpikIBj0oDjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBi0MAn2Qn+PTw/v79/f38/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f39/fz8+vf0omosiUEAj0oBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sCiD8A0reZ/////fz7/////v7+//////////////////////////////////////////// + /v7+/fz7/Pv6sH9KiD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0Aw594/////fz7//7///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/Pz7////yqmGiUAAj0sCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUEAq3hA + /Pz6/f38/v39//7+/////////////////////////////////////////////v7+/////f37////7OLW + k1EOjUcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoBjUcCklAO6t7Q/v7+/fz7/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////f39//7/7ePYk1ENjUcAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUcBj0sG6NrL/////fz8/v///v7+ + /////////////////////////////////////////////////v7+/v7+/fz7////xqR+hz4Aj0sCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEsBiUEAsIFN/v79/v39/v3+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v79 + /Pz7/v7+s4RQiEAAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBhz4AwZty/////fz8/v7///7+//////////////////// + /////////////////////////////////////v7//v39/v399/PuoWgrikIAj0oBj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iEAA176j/////fz7//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/fz8////2sSti0QBjkoC + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0kAj0sBi0QAm14d9vHr/v79/f39//////////////////////////////////////////// + ///////////////////////+/////fz8////3MawikMBj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCi0QBnGAi9O7n/v38 + /fz8/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////f39/v39+fbzoGcoikIAj0sBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iUEA1buf/////fz8/v7+/v7+//////////////////////////////////////////////////////// + /////////v7+/f79/fz8/f39soNPhz4Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz0AwZxz/////f38/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/Pz7////x6V/iD8AkEwBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wBiEAArHpD/v7+/v38/v7+ + /////////////////////////////////////////////////////////////////////////////v7+ + /f38/v7+69/SlFIPjUcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkgBkEwG6dvN/////fz8//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////Pz7/v397ODUlFMRjUcCj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBkE0I6NvM//7+/fz8/////v7+//////////// + /////////////////////////////////////////////////////////////////////fz7////yKaB + hz0AkEwDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sCiUEArXtG/Pv5/fz7/v39/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v///f38////sH9K + hz8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0wChz8AwJlv/////f38/v7+/v7+//////////////////////////////// + /////////////////////////////////////////////v7+/v7+/f39/f389/Puomgti0MAj0sCj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0sDiD8A1r2i/////fz7/////v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/f38////18ClikMAj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0oBi0QAnmIj9vHs/v39/v39//////////////////////////////////////////////////////// + /////////////////////////////////////v7+/fz8////3sq0jEYAjkoCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAi0UA + nWAf9vHs/v7+/v79//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/f38/f389vHsn2Qli0QBj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCikIA2MGo//// + /fz7/////v7+//////////////////////////////////////////////////////////////////// + /////////////////////////////fz8////tYhWhz4Aj0wBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiD8AwJpw/v7+/fz7 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////+/////fz7////xKF6hz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wBiEAAsH9L/////f38/v79/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////fz7/v797uXblVQVjEYBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkCjkkG59jJ/////f38/////v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v///f38//// + 6t3PkU4IjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgBkU4J6t7Q/v7+/fz8//////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz7////yqqGiEAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUEAqnY9/Pr4/v39/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////+/v39/fz7/fz7r39KiUEAj0sCj0kA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEwChz0Aw553/////fz8/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f39/v79+/n3omor + ikEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkoAj0sCiEAA0raY/////fz6/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7//fz7////1ryiiUIAj0oCjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikMBnmMm + +PTw/v39/f39//////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz7////38u2i0QEjkoDjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0kAj0sBjEUAmVwb9e/p/v7+/f38//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////f38/v7+9vHsnF8eikMAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA2MCl/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/fz8/v7+t4pZiD8AkEwCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz4A + vpVq/////fz7/v/+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /Pz7////wJpwhz0Aj0wDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAAr39J/v7+/v39/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////f39////8urillcTjEYAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUgCjkgE5dXE/////fz7 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////fz8////59nLkEsHjUgB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoBjEcBk1AN7OLW/v///fz7//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/Pz7////za6OiEAAj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBiUEAqnY8/f38/v39/v3+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////f39/fz8/fz7rHlCiUEAkEsBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iD8AyKaB/////fz7/v///v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v79 + /fz7+fXypW0xiUEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEA0bWX/////fz8/////v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/fz7////z7OTikIAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBikMAn2Yl+vf0/v7+/f39 + //7///////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/////fz7////4tG+jEYC + jkoBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oBjEUCl1gY8+vk/v79/fz7//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////f38////7eLWlFEOjEcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkoBi0QA28av/////fz7/v7//v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v79/fz7/v7+uY5fiEAAj0wCjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEsCiD8Auo9h/////fz8/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v79/fz8+/r4rHlE + iUEAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBiD8As4RR/f39/v39/v7+///+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7//f38/v7+7+fdl1cUjEYBjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBjkgB + 4tC+/////f38/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v///v7+/Pz7////wp51hz4Aj0sCj0kAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjUcBk1EN7+Xb/////f39/////v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////fz8////z7GRhz4Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAp3E4/Pv5/v38/v39 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+//7+/fz7////3ciwjEUAjkkBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0Ax6WA//// + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/f39/fz7+vj1qHI4iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAkEsCiD8Az7GR/////f38/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/////fv7////7OHUlVQWjEYBj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikMAomks+PPv/v39/v79//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/fz7 + ////5NPBj0oGjkgBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBjEYAl1gU8uri/v7+/fz8//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7//f38////8uvj + n2QoiUEAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCi0QB38u2/////fz7/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f38////u5Jlhz0A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBiD8AupBi/////fz8/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////fz8/v7/+PTvq3dAiD8AkEwBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0wCiEAAt4pa/v7+/f38/v79/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/fz8/v398erimVwcjEUBj0sBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkBjUgE4M66/////fz7/////v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/////fz8////+vj1rHpFiD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjUcBlVQR + 7+bd/v7+/f39//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/fz7////0LSUiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikIAo2sv + +/n4/v39/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v39////+/n2tYhXhz4Aj0wDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0AyquI/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/fz8/fz7qHM5iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4Ay6uJ/////fz7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+///+/v7+/fz7////+vf0 + rXtIikIAj0sDj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sBikIAo2wx+PXx/f38/f38/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////Pz7////4tLAjkgHjUgCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBllYS8Oje/v7+/f38//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////fv7////9/Puq3hChz4Aj0sBj0oAj0kA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkoBi0UA4M24/////fz7//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/Pz6 + ////vpZqiD4Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AuItc/////fz8/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////7+/////v7+/fz7////7+XaomoxiEAAkEwDj0oAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwC + hz4AtolZ/////fz8/v3+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////f39/v7+9vHsnGAdi0MA + j0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkCjEYB38y3/////fz8/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /v///v39/Pz7////38y3mFkciUAAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEYDllYX7+bc/v7+/f38 + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/fz7////1LqeiUEBj0sDjkoAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoA + j0sBikIApGww+vj1/v39/f39/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////////Pv6////////y6yJ + j0sEikMAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiD8Azq+O/////fz7//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v39/fz7/Pr5qnY9iD8Aj0wCj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AzK2M + /////Pz7/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/////v7+/fz7////8+zks4NTiUEAjUkAkEsCjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAkEsBiUEApnA0/fv6/v39/f79/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v///f38////5tjJkUwIjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYBlFIP7uTa/v7+/f38//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////v7+/fz7////////3Mixm14hiEAAj0sCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjkkCjkkG4c+7/////fz7/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //7+/v7+/fz7////v5lviD8Aj0sDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUAAtIZV/////v39/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+///+/v39 + /fz8////+PTvvpZujUgDikQAkEwDj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4AuI1d//// + /fz7/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////7+/f38/f38 + 9O7nm10ci0QAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA3ciy/////fz8/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////v7+/fz7////////28aunmImhz4A + jkkAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYAl1gW8+vk///+/f38/////v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7//Pz7////1LqdikIAj0sB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oBikMAoWgp+fby/f39/f39//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/////v7+/fz7/v//////8OjdtolbjEUAikMAkEwCj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAzrGR/////fz7/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v39/fz7/f38rn1HiD8Aj0sCj0kAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0sBiD8AyKiE/////fz8/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////f38////////+/j2y62LlVQSiD8AjkoBj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0oBiUEApW4z+vj1/v39/v39//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/Pz7/v7+6d3Qkk8LjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUcBkk8J7eTZ + /v7+/f38/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////v7+/f38/f39/////Pr4 + 2sSsomktiD8AjEcAkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjkkAjkgD + 49PB/////fz8/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f38////w552hz4Aj0wBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD4As4VS/////f39/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/////f38/v7+////////38y3qXU+iUEAikMAkEsCj0sB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4AvJNm/////fz7/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////f39/f389vHrnGAgikMAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBjEYA3Mex/////fz7/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////////v39/fz8/v7/////////4tC9rntHjUgCiUIAkEsCj0sBj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oBjEUBmVsZ9O7m/v7+/f38//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/Pz7//// + 2MCnikMAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0oAi0MAnmMj+ffz/v39/f38//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/v39/fv6//// + /////fz82MGnrXtIjUYAiUEAjkkAkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sCikEA0bWX/////fz7/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f39////r35IiUAAj0wC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiEAAxKF6/////fz8/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////v7+/f38/fz6/v7/////////8uvj0bWXomktjEUAiD4A + j0oBkEsBj0oAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsC + iUEAqHQ7+/j2/fz8/v39/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////fz7/v7+6NvNkEwIjUgBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jUgBkk8K7ODV/////fz7/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////v7+/v7+/v7+/v39/v39/////////f3859jKvZVqnF8hiD8Ai0QAj0oAkEwEj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgBjkkE5dXE/////fz7 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/Pz7////w551iD4Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAsIBL//// + /f38/v7+///+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////v7+/fz8/fz6//////// + ////////69/T0baYqndBjkgAiUAAi0QAkEwDj0sBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AvZRo/////fz7/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f39+vbzn2UlikMAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCi0QA2sOq/////fz7/v7//v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/v79/v38/v38/f38/v///////////v398Ojf0bWXsYBNlVUShz0A + ikIAjkkAkEwCj0sCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oBi0UBmlsc8eri/v39/fz8/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////Pz7////28avi0MBj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikMAnmIj+PXx/v39/f38///+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v79/f38 + /fz7/fz6/v7+/////////////////Pr55dXDyaqHr31Lkk8HikMAiUEAjUYAkEwDj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAj0oBiUEA1Lqd/////fv6//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/f79/fz7/f38 + sYJOiEAAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AxKB5/////fz8/v///v7+//////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////v7+/v39 + /v39/v39/v39/v39/v39/v38/v38/fz8/fz8/f38/f38/v38/v38/v39////////////////////9vDq + 6d3P0baYtIZVn2Unkk8HhjsAiUAAjkgAj0sBkEsCj0sBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUAArHpD/f38 + /v39/v39/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////fz8////7OHWkk8KjUcAjkoA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjUgBkU4J6NrM/////fz8//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////9O3l49PB1Lqew552soNRnmIhikIAikIAiUEAikIA + jUgAkE0EkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoBjUgCj0wK59nK/////fz7/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////xqR+hz4AkEwCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iUEArnxG/v7+/f38/f39/v7+//////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz6+PXv+fXy+fXy+fXy+fbz9vDr8Oje8Oje6dzO + 5NXE2MCmzbCPv5dusIBMn2UnmlwZk1EJjEUAhz0AiUEAjUcAkEwEkE0EkU0EkU0EkEwDj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sBkE0Ehz4Av5ht/v7+/fz7/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////+/f39/f389/PuoGYnikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAA1r2i//// + /Pz7/////v7+//////////////////////////////////////////////////////////////////// + /////////////////fz7////4M25l1YeoGYnn2MknmMkn2QmmVsYkUwEkU0FhTkAgzcAhDgAhDkAhDkA + hToAhToAhz0AiEAAikIAi0UAi0QAikIAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAikIAhz0Am1wc9O7o/v7+/f39/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+//7//f38////2sSsi0QAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0UBnWEg9fDr/v39/f39//////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////6NrMtIZYupFjuY9huo9huY9gupBjvJNnvJNnvpdsv5dtv5dtv5dsvpdsvpdsvpdsvpZrvpZr + vpVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvpdsuI1g + 4M24/////fz8/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////+ + /v7+/fz7////tIZUiD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8AwZxy/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz7/v397ePY + llURjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkgBkEsF6NrN/v7+/fz8/////v7+//////////////////////////// + /////////////////////////////////////////////////v7+/////v79/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v39/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/Pv7////yaiEiD8Aj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEsCiUEArXpD/v7//f39/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////f39/v38+vf0oWgrikIAj0sBj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oB + ikMA1bqf/////fz7/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz7////3MiyjEYBjkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0QAmlwa9O7n/v39 + /f38/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/f39////tIdViD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD4Avpds/////f38/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /fz8/v7+7+XblFIOjEYBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgBjkoD5dbF/v7//fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v38/v39 + /v38/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/////////v////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz8////y6uI + iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBiUEAq3c//fz7/v38/f79//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f39/v39/Pv6pGwuikEAj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sCikIA1Lqd/////fz7/v///v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7++fbzqXY9nmImoGYnoGUnoGUnoGUnoGUnoGUnoGUnoGUn + oGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUn + oGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnn2UnoGUnnmMm4c+8//// + /fz8//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz7////4tC9jUgEjkkCjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0QA + mVsZ8+zl/v38/fz8//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/fz7////xaJ8hToAi0QAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAi0QAhDoAqHI6+/n3/v39/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz8////uIxciUAAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8AvpZs/////fz7 + /v7+//7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz7/v7+ + 7ODUk1EPjUcCkEwDj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sCkEsCjkkDkk4L6t7Q/////fz7//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////f39/v7+8enhllYQjUYAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkkE49PB/////fz8/v///v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/f38////soJOiEAAj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0wBiD8Awp10/////fz8/v7+/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /Pz7////za+OikEAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sDiEAAp3I3/Pr4/f38/v39/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/Pz7////2cOri0QAj0oBjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0UAnWAf + 9vHs/v79/fz8//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/f39/f38+/n3pm8z + iUEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0oCikIA0LOU/////fz8/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/f38/f38+PPvoGcqi0QBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCiUEA1r2i/////fz7/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////fz7////4tC9jkkDjkkBjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAi0YAl1gT8+3l/v7+/f39//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////x6V/iD8AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiEAArXtF/f38/f38/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/fz8////vJJmiD4AkEwCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiEAA + upFj/////fz8/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f38/v7+6t7RklALjUcB + jkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0kAjkgBkU0I6NrM/////f38/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7//fz8/v798eril1kVi0QAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgBj0oG5NPC/////fz7 + /////v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v79/f38/f38soNQiUEAj0sCj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsC + hz4AwZty/////fz8/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////+/v///f37////0bWXiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApm8z/fz6/f38/f39//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////fz7////3MexikMAj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0MBnGEj9vLt/v39/f38 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////f39 + /f38/Pr4qHM6iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oCiUEAz7KS/////fz7/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v39/f38+PXxomotikIAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUIA1r2i/////fz7/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz7////49PBjUgC + jkkBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjEYBllYU8ejf/v79/f38/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz7////y6yJ + hz8Aj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAkEsBiD8ArXpD/fz7/v38/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/fz8////vJNmhz8Aj0sBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEsChz4At4ta/////fz8/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////f39////7ePZlFIPjEYAj0oAj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjUgCkEwL6dzO/////fz7//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////fz8/v398+vkmFoXi0UAj0oBj0kAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkkBjUcD + 38y3/////fz7/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/fz7/f38tYdVhz8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AwZtx//// + /fz8/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/fz8////0reaikIAjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApGww+/j2/v38/f39 + /////v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/fz6////3su1jEUEjkoCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0QAnGAf9fDq/v79/f39//7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v79/v39/f39q3c+iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AzKyK/////Pz7/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v/+/f39/v79 + +fb0o2otikMAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCikIA07eb/////fz7/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/////fz8 + /v7/59fIjkoEjUkBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0YBl1cV7+bc/f39/fz7/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+//7//fv7////yqmGiD8AkEwCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sBiEAAqXU7/Pv6/f38/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz8////v5dtiD4A + kEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBiD8Atotb/////fz7/v7+///+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////7+/fz8/v7+7uTalVQUjUcCj0oBj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkCj0oK + 5tbG/////fz8/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////f39/v399O7om10ci0UBj0oBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAj0oBjUcB4M25/////f38/v7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////f38////tolXiD8AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD4Avpdr/////fz7/v39/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////fz8////07ibiUAAkEsBjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCikIAomos + +PTw/fz8/f39/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////3ciyikMAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAi0UAmlsY9O7n/v7+/v39/v////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f39/f38/v79q3c/iUAAj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz4AyaiF/////fz7//// + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f39/f38+fXxomoviUEA + kEwCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0sCiUAA07mc/////fz7//////7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////fz8////6NvMkEwHjUgBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUcAk1EL7uTa/////f39//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////f38////y6uJhz8Aj0sBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sB + iUAAq3dA/Pr4/fz7/f39/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v///fz7 + ////wpxziD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8AtIZU/v39/fz7/v39/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////f38/v7+7uPYlFMPjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgBj0oC5dbG/////fz7 + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////+/fz8/v399/LunGAfi0MA + j0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0kBjEUC3cm0/////fz7/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v79/f38/v7+tYhYiD8AkEsCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz0AvpZr/////fz8/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v///fz7////17+likMAj0oBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + j0oBikMAomgq+vf0/f39/v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////Pz7////4M24 + i0UAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0sBi0QBm10f8+3m/f38/fz7/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////7+/v79/f39////rnxGiUAAkEsCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiEAAyKWB + /////Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v79/f38+PTxomkti0MAj0sBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEwBiUEA0rea/////fz7/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7//fz7////6t3QkE0IjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjUcBkk8M69/T/v7+/fz7//// + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/fz7////y6yKhz4Aj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUAAqnU9/Pz7 + /v38/v39/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/v7+/fz7////wZtyhz8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiEAAsoJP/////f38/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////f38/v7+8enhllYSjUcBj0oBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgCj0sJ5dbG//7+/Pz7/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////f38/v79 + +PTwnGAfi0QAj0sAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkoCi0QA28St/////Pz7/v7+/v7+//////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/f38 + ////uI1diD8AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBhz8AvpZq/////fz7/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/fz7////2sSsi0UAj0oB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0kAj0sCikMAnmQl9/Lt/f38/f39/////v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/fz7////4tC+jUcCjkkBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0oBi0QAmVsZ9O3m/v79/f38/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/f38////sYFMiD8Aj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + kEwChz4AxaJ8/////fz7/v7+//////////////////////////////////////////////////////// + ///////////////////////////////////+/f39/f39+/n3pGwwikEAj0sBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sCiUAA + 07mb/////Pz7/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////fz7/v7+7OHUkU0HjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjUcBk1AO6+DU + /v7+/Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////v7+/v///f38////za+OiD8Aj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAq3c+/fz7/fz8/f79//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/fz8////xqR/iD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz4AsIBM/v79/fz7/v7+//// + //////////////////////////////////////////////////////////////////////////////7/ + /fz8/v7+8erillYSjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBjkkF5tfH/////fz8/////v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////f39/f39+PXwn2Qli0MAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA2cKp/////fz8/v7///////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz8////uI1fiD8A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0wDhz4AvpVq/////Pz7/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz8//// + 2sWtikEAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oBi0MAnWAg9vDq/f38/f38/v7+//////////////////////////// + /////////////////////////////////////////////fz7////4tC9jUcAjkkBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jEQAm10b9O/p/v7+/f38//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v39/v7+soJPiUAAkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sDhz8Aw552/////fz7/v7+//7+//////////////////////////////////////// + /////////////////////v7+/f39/f38/Pr4pW8yikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUAA07ib/////fz7 + /v7//v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////f38/v7+7OHWklAMjUcBj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jUgAklAK6dzO/////f38/v////////////////////////////////////////////////////////// + /v7+/////fz7////za+OiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCiEAAqXY9+/n3/fz7/v39///+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////fz8////yamFiD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0wCiEAArXpD/Pv6 + /fz6/v39/v7+/////////////////////////////////////////////////////////f39/v7+8eng + lVMPjEYAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkBkEwF5tjJ/////f38/v///v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/f39/v39+fXyomkrikMAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sDikMC17+l/////fz7/////v7+ + /////////////////////////////////////////////v7+/v7+/f38////uI1diEAAkEsDjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEwBiD8Au5Jl/////fz8/v7+//7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////fz8////3ciyi0QAjkoCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBi0QAnmIi9vLt/v7+/v7+//////////////////// + /////////////////////////v7+/////fz8////4tC9jkgEjkkBj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBmFoX8uvj + /v39/fz8/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/fz8//// + tYdViD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0wDhz4AwZtx/////fz7/v7+/v7+//////////////////////////// + /////////////v7+/v39/Pr4pG0vikMAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiEAAz7KT/////fz7/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////fz7/v7+7uTalVQQjEYBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oBjUgCkU4N59jI/////fz8/////v7+/////////////////////////////v7+/v7+/fz8 + ////za6NiUAAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUEApm8z/Pv5/v39/f39//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////yaiDhz4Aj0sCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sB + iUAAqnY9/fz8/f38/v7+/////////////////////////////v7+/////f38/v398enhllcVi0UBj0oB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkgBjkkD5NTD/////fz8/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////f39/v39+/j2oWgqikIAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUIA07mb//// + /fz7/v7+/////////////////////////////v7+/f38////t4tahz8AkEsBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiD8A + upFj/////fz8/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/fz7////4M67jEYDjkkCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBi0QBm18g8+3l/v39/f38/v7+/v7+ + /////////////v7+/v7+/Pz7////5NTEjkkEjUkCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjEUAllcT8+vk/v39/f38//// + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/fz8////uIxciD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz0Avpdr/////fz7//////////////////////// + /f39/fz8+/n3p3E4iUEAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBiUAA0LSV/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////fz8/v7+8Ojf + llYSjEcBj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkgBkEwI5dfG/////fz7/v7+/////////////v7+/fz7////0LSWiEAA + kEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBikIAp3A1/Pr5/v39/v39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/fz7////za2Mhz8AkEsCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0sBiEEArHlC+/r4/fz8/v39/v7+/v7+/v7+/f38/v398+zkmVoZi0UBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkBjUcA49LA/////f38/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v38/f39+/n3pG0yikEAj0sCjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iD8A0ria/////fz7//////7+/v7+/fz7////u5Jlhz0Aj0wDjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8Au5Jk/////f38 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/////f38////38y3jUcAjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEUBmlsb8eng/v79 + /f38/////f38////5NTDjkkEjkkBjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBl1gV8uvk/v79/f38//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/fz8////t4xchz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wCiD4Au5Jm/////fz7/f39/fz8+/n3 + qXQ6iUIAj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8A0LOU/////fz8/////v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7/v7+8engllYWjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkgD5NTD/////Pr5////0bSXiEAAj0sDjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0kAj0sCikIAp3E3/Pr4/v39/v39/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////fz8////0baX + iUAAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAj0sBiUAApnE2+fbz/f388uvjl1cTi0UAj0oAj0kAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkgE5NTD + /////fz8/v////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v3+/v39/Pv5p3I4iUEAkEsBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkoAj0sCiUAAz7GT////upFjiD8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8Au5Fj/////fz8/v7///7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////fz7////4tG/jUcDjkkCjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAi0MA + nWEh1r2ikE0KjkgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEYBl1gX8urj/v7+/f38///+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v/+/Pz7////u5FkiD8AkEwBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAkU4FjUcAj0oA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sCiEAA0bWW/////fz7/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////f38/v7+8+zlmFkZjEYBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgAj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikIA + qHI4/Pv5/v39/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz6////0LOTiD8AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kCjUcF49G//////f38//// + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v39+/r3qnY+ + iUEAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sChz4Au5Nm/v///fz8/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////f38////5tfIjkkIjkkCj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0oAjEYAl1cU8+zl/v7+/v39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/fz7////v5huhz4Aj0sCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + kEsChz8Az7KS/////fz7/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v79/v7+9O7pmlwZi0UAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsCikEApnA3+vf0/fz7 + /v39/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////fz7////07ibiD8AkEsDj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkoBjEUA38y3/////fz7//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v39 + /fz7+/n3q3hBiUEAkEsCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0wChz4AuY1f/////f38/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////fz8////59jIj0oD + jkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oBjEYCl1YV7+Xb/v39/fz7/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/f37////vpdthz0Aj0wCj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBhz4Ay6uJ + /////fz8//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/fz8/v399O/om18hi0QBj0oBj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApW40+vf0/v39/v39/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////f38////1r2iiUAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkCjEYE4M24/////fz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/v79/v38/v39rnxIiEAAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAkEwChz8At4tZ/v7+/fz7/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/fz7 + /v7+6NrMkU0LjkgCjkoBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYB + llYW7+Xb/v7+/f38/////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////7//fz7////wJpwhz0A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiD8Aza6M/////fz7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////f39/v799vLtnWIki0QAj0sBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBiUEApG0x+vf0/f38/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7////1r6ii0MAj0oCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkoAj0kCjEYF38y3/////fz7/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/f38/fz8rXtEiUAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0wChz8AuIxc/v7+/fz7/v39/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////fz8////697Skk8MjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkoAjUYAllYR8Ofe/v/+ + /v39/v////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/fv6 + ////xKF6iD4AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wCiD8Ay6uJ/////v38//////7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v79/v7++fXyn2Qli0MA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0kAj0sCiUEApW8z+fby/fz7/f39/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////fz8////2cKqikQAjkoCj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkoAjkkBjEYA4M24/////fz8/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7/Pv6sH9LiD8AkEsCj0kAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz4At4pa + /////f38//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38////7OLWkk4KjUgBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEUBl1cV7uXb/v39/Pz8/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////fz8////xaJ8iD8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAAzK2L/////Pz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v39/fz7 + 9/LtomgsikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiUIApGww/Pn3/f38/f39//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////fz7////3Mewi0QAj0oB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkB + jUcE3sq2/////Pz7/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/f38////tolXiD8Aj0wBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8AuIxb/////fz8/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/fz7/v7+7eLWlVMSjUcCj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUYBllYT8Ojf/v7+/f39/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////fz8////yKaBhz4AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBhz8AyaiF/////fz7/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v39/v39+PTxomktikIAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oBikMAomgq+fXy/v39/f39//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/fz7//// + 3Mixi0MBjkoCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0MA3ciy//// + /fz8/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/fz7/v79tIdVhz4AkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBhz8AtIdV/////f37/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////f38////7+belVUUjEYBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkoAjUYBlFMO7uPZ/v7+/fz8//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/fz7////y6yJiD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEwBhz4AyKaD/////fz7/v///v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v38+ff0pW4yikEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikIAoWgq + +vf1/f38/f39//7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////fz7////4M24jEUFj0kCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkCjEYB3ciy/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v39/fz7/v39 + tolZhz4AkU4FkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwD + kEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwD + kEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwCkU0EiEAAtIVS/////f39/v7+///+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v///v39////8OfdlVQQhDoAiD8A + iD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4A + iD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4A + iD4AiD4AiD4AiD8AhToAkU4K7+Xc/v7+/f38/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////7+/////v7+////38y4y6yNzrGQzrCQzrCQzrCQzrCQ + zrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQ + zrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrGS + yqqM38u2/////v79/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/v7+/v79//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v79/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8 + /fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8 + /fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/f38/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxModuleDetail.Designer.cs b/LFP_Manager/Forms/fmxModuleDetail.Designer.cs new file mode 100644 index 0000000..53ce0ad --- /dev/null +++ b/LFP_Manager/Forms/fmxModuleDetail.Designer.cs @@ -0,0 +1,210 @@ + +namespace LFP_Manager.Forms +{ + partial class fmxModuleDetail + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fmxModuleDetail)); + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.btnClose = new DevExpress.XtraEditors.SimpleButton(); + this.btnNext = new DevExpress.XtraEditors.SimpleButton(); + this.btnPrev = new DevExpress.XtraEditors.SimpleButton(); + this.Root = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); + this.ShelfStatus = new LFP_Manager.Controls.ucShelfStatus(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.Root)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.btnClose); + this.layoutControl1.Controls.Add(this.btnNext); + this.layoutControl1.Controls.Add(this.btnPrev); + this.layoutControl1.Controls.Add(this.ShelfStatus); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1270, 387, 650, 400); + this.layoutControl1.Root = this.Root; + this.layoutControl1.Size = new System.Drawing.Size(1198, 648); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // btnClose + // + this.btnClose.Location = new System.Drawing.Point(1032, 604); + this.btnClose.Name = "btnClose"; + this.btnClose.Size = new System.Drawing.Size(163, 41); + this.btnClose.StyleController = this.layoutControl1; + this.btnClose.TabIndex = 7; + this.btnClose.Text = "CLOSE"; + this.btnClose.Click += new System.EventHandler(this.btnClose_Click); + // + // btnNext + // + this.btnNext.Location = new System.Drawing.Point(170, 604); + this.btnNext.Name = "btnNext"; + this.btnNext.Size = new System.Drawing.Size(163, 41); + this.btnNext.StyleController = this.layoutControl1; + this.btnNext.TabIndex = 6; + this.btnNext.Text = "NEXT"; + this.btnNext.Click += new System.EventHandler(this.btnNext_Click); + // + // btnPrev + // + this.btnPrev.Location = new System.Drawing.Point(3, 604); + this.btnPrev.Name = "btnPrev"; + this.btnPrev.Size = new System.Drawing.Size(163, 41); + this.btnPrev.StyleController = this.layoutControl1; + this.btnPrev.TabIndex = 5; + this.btnPrev.Text = "PREV"; + this.btnPrev.Click += new System.EventHandler(this.btnPrev_Click); + // + // Root + // + this.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.Root.GroupBordersVisible = false; + this.Root.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem1, + this.layoutControlItem2, + this.emptySpaceItem1, + this.layoutControlItem3, + this.layoutControlItem4}); + this.Root.Name = "Root"; + this.Root.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.Root.Size = new System.Drawing.Size(1198, 648); + this.Root.TextVisible = false; + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.btnPrev; + this.layoutControlItem2.Location = new System.Drawing.Point(0, 601); + this.layoutControlItem2.MaxSize = new System.Drawing.Size(0, 45); + this.layoutControlItem2.MinSize = new System.Drawing.Size(89, 45); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(167, 45); + this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // emptySpaceItem1 + // + this.emptySpaceItem1.AllowHotTrack = false; + this.emptySpaceItem1.Location = new System.Drawing.Point(334, 601); + this.emptySpaceItem1.Name = "emptySpaceItem1"; + this.emptySpaceItem1.Size = new System.Drawing.Size(695, 45); + this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlItem3 + // + this.layoutControlItem3.Control = this.btnNext; + this.layoutControlItem3.Location = new System.Drawing.Point(167, 601); + this.layoutControlItem3.MinSize = new System.Drawing.Size(89, 26); + this.layoutControlItem3.Name = "layoutControlItem3"; + this.layoutControlItem3.Size = new System.Drawing.Size(167, 45); + this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem3.TextVisible = false; + // + // layoutControlItem4 + // + this.layoutControlItem4.Control = this.btnClose; + this.layoutControlItem4.Location = new System.Drawing.Point(1029, 601); + this.layoutControlItem4.MinSize = new System.Drawing.Size(89, 26); + this.layoutControlItem4.Name = "layoutControlItem4"; + this.layoutControlItem4.Size = new System.Drawing.Size(167, 45); + this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem4.TextVisible = false; + // + // ShelfStatus + // + this.ShelfStatus.Location = new System.Drawing.Point(3, 3); + this.ShelfStatus.Name = "ShelfStatus"; + this.ShelfStatus.Size = new System.Drawing.Size(1192, 597); + this.ShelfStatus.TabIndex = 4; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.ShelfStatus; + this.layoutControlItem1.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem1.MinSize = new System.Drawing.Size(772, 247); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(1196, 601); + this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // fmxModuleDetail + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(1198, 648); + this.Controls.Add(this.layoutControl1); + this.IconOptions.Image = ((System.Drawing.Image)(resources.GetObject("fmxModuleDetail.IconOptions.Image"))); + this.Name = "fmxModuleDetail"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "fmxModuleDetail"; + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.Root)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup Root; + private Controls.ucShelfStatus ShelfStatus; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraEditors.SimpleButton btnClose; + private DevExpress.XtraEditors.SimpleButton btnNext; + private DevExpress.XtraEditors.SimpleButton btnPrev; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4; + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxModuleDetail.cs b/LFP_Manager/Forms/fmxModuleDetail.cs new file mode 100644 index 0000000..eb948b2 --- /dev/null +++ b/LFP_Manager/Forms/fmxModuleDetail.cs @@ -0,0 +1,114 @@ +using DevExpress.XtraEditors; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +using LFP_Manager.DataStructure; + +namespace LFP_Manager.Forms +{ + public partial class fmxModuleDetail : DevExpress.XtraEditors.XtraForm + { + #region VARIABLES + private int ModuleID = 1; + private CommConfig Config; + private CsDeviceData.DeviceModuleData[] ModuleDatas; + + #endregion + + #region COSTRUCTORS + + public fmxModuleDetail(int mID, ref CommConfig aConfig, ref CsDeviceData.DeviceModuleData[] mData) + { + InitializeComponent(); + + ModuleID = mID; + Config = aConfig; + ModuleDatas = mData; + + this.Text = String.Format("MODULE [#{0:00}]" + , mID + ); + ShelfStatus.Start(mID, ref aConfig, ref ModuleDatas); + } + + #endregion + + #region PUBLIC FUNCTION + + public void SetModuleID(int mID) + { + ShelfStatus.ModuleIDSet(mID); + + if (this.InvokeRequired) + { + this.Invoke(new MethodInvoker(delegate () + { + this.Text = String.Format("MODULE [#{0:00}]", mID); + })); + } + else + { + this.Text = String.Format("MODULE [#{0:00}]", mID); + } + } + + public int GetModuleID() + { + return ShelfStatus.ModuleIDGet(); + } + #endregion + + #region UPDATE DATA + + public void UpdateData(ref CsDeviceData.DeviceModuleData[] mData) + { + ShelfStatus.UpdateData(mData); + } + + #endregion + + #region BUTTON EVENT + private void btnPrev_Click(object sender, EventArgs e) + { + if (ModuleID == 1) + { + ModuleID = Config.ModuleQty; + } + else + { + ModuleID--; + } + ShelfStatus.ModuleIDSet(ModuleID); + ShelfStatus.UpdateData(ModuleDatas); + Text = string.Format("Module Status [#{0:00}]", ModuleID); + } + + private void btnNext_Click(object sender, EventArgs e) + { + if (ModuleID == Config.ModuleQty) + { + ModuleID = 1; + } + else + { + ModuleID++; + } + ShelfStatus.ModuleIDSet(ModuleID); + ShelfStatus.UpdateData(ModuleDatas); + Text = string.Format("Module Status [#{0:00}]", ModuleID); + } + + private void btnClose_Click(object sender, EventArgs e) + { + Close(); + } + #endregion + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxModuleDetail.resx b/LFP_Manager/Forms/fmxModuleDetail.resx new file mode 100644 index 0000000..8415941 --- /dev/null +++ b/LFP_Manager/Forms/fmxModuleDetail.resx @@ -0,0 +1,148 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + vAAADrwBlbxySQAABNdJREFUWEftVWtsFFUUvn2kxF8aI/EVI8Y//NIGjUFaaKGtfYHVKEQNATHxh4om + EmOlGIyk26XdbretptpSugJFI5RSwUQIAn2Kj6KyUFLaQk0XfFS6lm4fu+1OP3POzJ3OdrfT0R/4x5Pc + 3Jm5597zne98547Af2xi9oebbZYBTE9P67PZMPpaMUsAjAcqJocb16yCsASAzJihzz+BoRvj+rg+PI7h + sUCEnxWbF4A8cCqk8Pvxzn4szKvEwuc+wh3rqvRxz9oqnLs8yD6hkGIZiCkAeYCiKAgpCiaCU1j8shsi + dSdEdhlEplMd9Ly8CCvzD9Iu9rUSnMwUAJkx+x2fnoFIsiFuTbkaNMeljuwyxK0uZxD7TnaxL+2xwsKc + AORmopPE1XvVh1tyXYiRGee4EEPvDECb0x24+/mP4RuZYBaYiXkEOScAMmP2T77fBLHCjthcNXsO+EQp + RGapzkIssZBchDdrmnnPpMaCmUUFILOfnArx+xdn+iBWFas0y0BJNmypPo1nbUc5KH+jtRwXFmSX6YKc + rxQRAIzCo82j40E8+GItYjIciNUoj8koxZ3rqliUvdd8SMhyIpbKIsGtLEZq/gEtCXMWIgHMor7gk/Yw + 4fGcYseeExf0Pe+421iAuo8myPqTF3ndjIUwAEbh0dw9MKRml6UKb3Z2dDAJbWQsgEUbdzEzUpgxmiD/ + 8quCJEZlDKNFMqABIMvZ3qgKT69vGeIynfip7w8dgNTJgZZu9k3Iq2QGaKb3re42XpcszDYdgMxeUn+4 + o1dT/RwKnwpxZuRPWqCZLiKR+B5EUhHEMhvE44UQSwvR4vEipMwwawTCAOQHvvFCCvxjQSzasAsirUSl + U6P0vvU1uDEa4MCIkg39FwpqmlHgbufMt+1px9tVp9D0TR+vR2MhjAFJZ35da3hr0bzCjs9bunmdQNJl + 09nzO06c/QXu4+fhOtSJ2q88+PL7KzjybR+3Lo2j313GZ193oaPrmrpXu6YlECFfJD0X+v/kPqZ6c3C6 + eFLsSC9o4KylH4EdHg3AOziC5nMDeNfdhvvXV6slWFrIgLkUyTaIZYW47ekP8Ot1f4QgBQGRAMjStjZA + pOycyT67jDvhfP8gX8kSQDSj73XHPLhrbRVEhgMJeRWIX12OBU+pgtzgPMZ+xlII6nwpvP2nLkIst+s3 + Hvd1chH3ORllLTdK5hi8onaDzOyS14fFm3arGpIipnlVCU7/PBAGQsheppre+0I1RJpjRngZDjywsRb+ + 8aD+c5HBpUkQ8jk4OcXPPVd9uDWvErFZspQuiNRiPPzqXgQnQ+pPTlEgxgPqhi01zVwznXrakGJHY0cP + r8vszeiXt2hAA1HR9GOkmJOL4Dp8ltepfbkLPFcGWXjxOS4OHL+mgmuWue0QO0Zrn2gmfeR/hMZDr+zl + 25PKSWfHZTlx+zMf4rchPxRlGoL6esnmelW5aSXsTMHjM5245B0KE55VEDRU0ECrx6t2RGqxena6A+Kx + Hcjd3sj+Ir+2FYmv7cOS1+sZyKNv7Efipt0oafiBHcxUb2a0R2rmrdoWJL5Ux2dTjEc213PMI/SbpzrM + ZZS9UWBWzbjHbB/pT7+KKZgc/K6EK/2fmhEEnRUtBpl+E0YbxoP+jc0+L9qI+B3fbPsfwN+Ml/mpJunQ + YAAAAABJRU5ErkJggg== + + + \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxParamConfig.Designer.cs b/LFP_Manager/Forms/fmxParamConfig.Designer.cs new file mode 100644 index 0000000..1222f6a --- /dev/null +++ b/LFP_Manager/Forms/fmxParamConfig.Designer.cs @@ -0,0 +1,818 @@ +namespace LFP_Manager.Forms +{ + partial class fmxParamConfig + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fmxParamConfig)); + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.gbDefaultParam = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl7 = new DevExpress.XtraLayout.LayoutControl(); + this.btnDefaultSet = new DevExpress.XtraEditors.SimpleButton(); + this.layoutControlGroup7 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem22 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem4 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.gbCurrentParam = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl5 = new DevExpress.XtraLayout.LayoutControl(); + this.layoutControlGroup5 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.gbDchTempParam = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl4 = new DevExpress.XtraLayout.LayoutControl(); + this.layoutControlGroup4 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.gbChaTempParam = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl3 = new DevExpress.XtraLayout.LayoutControl(); + this.layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.gbVoltageParamSet = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl2 = new DevExpress.XtraLayout.LayoutControl(); + this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.btnClose = new DevExpress.XtraEditors.SimpleButton(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem11 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem1 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlItem19 = new DevExpress.XtraLayout.LayoutControlItem(); + this.emptySpaceItem3 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlGroup6 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.tmrDisplay = new System.Windows.Forms.Timer(this.components); + this.ucSocParam = new LFP_Manager.Controls.ucParamSet(); + this.ucDOCParam = new LFP_Manager.Controls.ucParamSet(); + this.ucCOCParam = new LFP_Manager.Controls.ucParamSet(); + this.layoutControlItem14 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem15 = new DevExpress.XtraLayout.LayoutControlItem(); + this.ucDLTParam = new LFP_Manager.Controls.ucParamSet(); + this.ucDHTParam = new LFP_Manager.Controls.ucParamSet(); + this.layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem13 = new DevExpress.XtraLayout.LayoutControlItem(); + this.ucCLTParam = new LFP_Manager.Controls.ucParamSet(); + this.ucCHTParam = new LFP_Manager.Controls.ucParamSet(); + this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem(); + this.ucSUVParam = new LFP_Manager.Controls.ucParamSet(); + this.ucSOVParam = new LFP_Manager.Controls.ucParamSet(); + this.ucCUVParam = new LFP_Manager.Controls.ucParamSet(); + this.ucCOVParam = new LFP_Manager.Controls.ucParamSet(); + this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem16 = new DevExpress.XtraLayout.LayoutControlItem(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.gbDefaultParam)).BeginInit(); + this.gbDefaultParam.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl7)).BeginInit(); + this.layoutControl7.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup7)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem22)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbCurrentParam)).BeginInit(); + this.gbCurrentParam.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl5)).BeginInit(); + this.layoutControl5.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbDchTempParam)).BeginInit(); + this.gbDchTempParam.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl4)).BeginInit(); + this.layoutControl4.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbChaTempParam)).BeginInit(); + this.gbChaTempParam.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).BeginInit(); + this.layoutControl3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbVoltageParamSet)).BeginInit(); + this.gbVoltageParamSet.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).BeginInit(); + this.layoutControl2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem19)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem15)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem16)).BeginInit(); + this.SuspendLayout(); + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.ucSocParam); + this.layoutControl1.Controls.Add(this.gbDefaultParam); + this.layoutControl1.Controls.Add(this.gbCurrentParam); + this.layoutControl1.Controls.Add(this.gbDchTempParam); + this.layoutControl1.Controls.Add(this.gbChaTempParam); + this.layoutControl1.Controls.Add(this.gbVoltageParamSet); + this.layoutControl1.Controls.Add(this.btnClose); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(0, 0); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1155, 88, 654, 350); + this.layoutControl1.Root = this.layoutControlGroup1; + this.layoutControl1.Size = new System.Drawing.Size(925, 777); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // gbDefaultParam + // + this.gbDefaultParam.Controls.Add(this.layoutControl7); + this.gbDefaultParam.Location = new System.Drawing.Point(694, 645); + this.gbDefaultParam.Name = "gbDefaultParam"; + this.gbDefaultParam.Size = new System.Drawing.Size(228, 62); + this.gbDefaultParam.TabIndex = 13; + this.gbDefaultParam.Text = " Default Paramter"; + // + // layoutControl7 + // + this.layoutControl7.Controls.Add(this.btnDefaultSet); + this.layoutControl7.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl7.Location = new System.Drawing.Point(2, 23); + this.layoutControl7.Name = "layoutControl7"; + this.layoutControl7.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1212, 252, 614, 350); + this.layoutControl7.Root = this.layoutControlGroup7; + this.layoutControl7.Size = new System.Drawing.Size(224, 37); + this.layoutControl7.TabIndex = 0; + this.layoutControl7.Text = "layoutControl7"; + // + // btnDefaultSet + // + this.btnDefaultSet.Location = new System.Drawing.Point(130, 5); + this.btnDefaultSet.Name = "btnDefaultSet"; + this.btnDefaultSet.Size = new System.Drawing.Size(89, 27); + this.btnDefaultSet.StyleController = this.layoutControl7; + this.btnDefaultSet.TabIndex = 5; + this.btnDefaultSet.Text = "Set"; + this.btnDefaultSet.Click += new System.EventHandler(this.btnDefaultSet_Click); + // + // layoutControlGroup7 + // + this.layoutControlGroup7.CustomizationFormText = "layoutControlGroup7"; + this.layoutControlGroup7.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup7.GroupBordersVisible = false; + this.layoutControlGroup7.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem22, + this.emptySpaceItem4}); + this.layoutControlGroup7.Name = "Root"; + this.layoutControlGroup7.Padding = new DevExpress.XtraLayout.Utils.Padding(3, 3, 3, 3); + this.layoutControlGroup7.Size = new System.Drawing.Size(224, 37); + this.layoutControlGroup7.TextVisible = false; + // + // layoutControlItem22 + // + this.layoutControlItem22.Control = this.btnDefaultSet; + this.layoutControlItem22.CustomizationFormText = "layoutControlItem22"; + this.layoutControlItem22.Location = new System.Drawing.Point(125, 0); + this.layoutControlItem22.MinSize = new System.Drawing.Size(93, 26); + this.layoutControlItem22.Name = "layoutControlItem22"; + this.layoutControlItem22.Size = new System.Drawing.Size(93, 31); + this.layoutControlItem22.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem22.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem22.TextVisible = false; + // + // emptySpaceItem4 + // + this.emptySpaceItem4.AllowHotTrack = false; + this.emptySpaceItem4.Location = new System.Drawing.Point(0, 0); + this.emptySpaceItem4.Name = "emptySpaceItem4"; + this.emptySpaceItem4.Size = new System.Drawing.Size(125, 31); + this.emptySpaceItem4.TextSize = new System.Drawing.Size(0, 0); + // + // gbCurrentParam + // + this.gbCurrentParam.Controls.Add(this.layoutControl5); + this.gbCurrentParam.Location = new System.Drawing.Point(3, 431); + this.gbCurrentParam.Name = "gbCurrentParam"; + this.gbCurrentParam.Size = new System.Drawing.Size(455, 210); + this.gbCurrentParam.TabIndex = 10; + this.gbCurrentParam.Text = "Current Parameter"; + // + // layoutControl5 + // + this.layoutControl5.Controls.Add(this.ucDOCParam); + this.layoutControl5.Controls.Add(this.ucCOCParam); + this.layoutControl5.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl5.Location = new System.Drawing.Point(2, 23); + this.layoutControl5.Name = "layoutControl5"; + this.layoutControl5.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(757, 268, 250, 350); + this.layoutControl5.Root = this.layoutControlGroup5; + this.layoutControl5.Size = new System.Drawing.Size(451, 185); + this.layoutControl5.TabIndex = 0; + this.layoutControl5.Text = "layoutControl5"; + // + // layoutControlGroup5 + // + this.layoutControlGroup5.CustomizationFormText = "layoutControlGroup5"; + this.layoutControlGroup5.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup5.GroupBordersVisible = false; + this.layoutControlGroup5.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem14, + this.layoutControlItem15}); + this.layoutControlGroup5.Name = "layoutControlGroup5"; + this.layoutControlGroup5.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0); + this.layoutControlGroup5.Size = new System.Drawing.Size(451, 185); + this.layoutControlGroup5.TextVisible = false; + // + // gbDchTempParam + // + this.gbDchTempParam.Controls.Add(this.layoutControl4); + this.gbDchTempParam.Location = new System.Drawing.Point(462, 217); + this.gbDchTempParam.Name = "gbDchTempParam"; + this.gbDchTempParam.Size = new System.Drawing.Size(460, 210); + this.gbDchTempParam.TabIndex = 9; + this.gbDchTempParam.Text = "Discharge Temp Parameter"; + // + // layoutControl4 + // + this.layoutControl4.Controls.Add(this.ucDLTParam); + this.layoutControl4.Controls.Add(this.ucDHTParam); + this.layoutControl4.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl4.Location = new System.Drawing.Point(2, 23); + this.layoutControl4.Name = "layoutControl4"; + this.layoutControl4.Root = this.layoutControlGroup4; + this.layoutControl4.Size = new System.Drawing.Size(456, 185); + this.layoutControl4.TabIndex = 0; + this.layoutControl4.Text = "layoutControl4"; + // + // layoutControlGroup4 + // + this.layoutControlGroup4.CustomizationFormText = "layoutControlGroup4"; + this.layoutControlGroup4.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup4.GroupBordersVisible = false; + this.layoutControlGroup4.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem12, + this.layoutControlItem13}); + this.layoutControlGroup4.Name = "layoutControlGroup4"; + this.layoutControlGroup4.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0); + this.layoutControlGroup4.Size = new System.Drawing.Size(456, 185); + this.layoutControlGroup4.TextVisible = false; + // + // gbChaTempParam + // + this.gbChaTempParam.Controls.Add(this.layoutControl3); + this.gbChaTempParam.Location = new System.Drawing.Point(3, 217); + this.gbChaTempParam.Name = "gbChaTempParam"; + this.gbChaTempParam.Size = new System.Drawing.Size(455, 210); + this.gbChaTempParam.TabIndex = 8; + this.gbChaTempParam.Text = "Charge Temp Parameter"; + // + // layoutControl3 + // + this.layoutControl3.Controls.Add(this.ucCLTParam); + this.layoutControl3.Controls.Add(this.ucCHTParam); + this.layoutControl3.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl3.Location = new System.Drawing.Point(2, 23); + this.layoutControl3.Name = "layoutControl3"; + this.layoutControl3.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1273, 246, 250, 350); + this.layoutControl3.Root = this.layoutControlGroup3; + this.layoutControl3.Size = new System.Drawing.Size(451, 185); + this.layoutControl3.TabIndex = 0; + this.layoutControl3.Text = "layoutControl3"; + // + // layoutControlGroup3 + // + this.layoutControlGroup3.CustomizationFormText = "layoutControlGroup3"; + this.layoutControlGroup3.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup3.GroupBordersVisible = false; + this.layoutControlGroup3.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem9, + this.layoutControlItem10}); + this.layoutControlGroup3.Name = "layoutControlGroup3"; + this.layoutControlGroup3.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0); + this.layoutControlGroup3.Size = new System.Drawing.Size(451, 185); + this.layoutControlGroup3.TextVisible = false; + // + // gbVoltageParamSet + // + this.gbVoltageParamSet.Controls.Add(this.layoutControl2); + this.gbVoltageParamSet.Location = new System.Drawing.Point(3, 3); + this.gbVoltageParamSet.Name = "gbVoltageParamSet"; + this.gbVoltageParamSet.Size = new System.Drawing.Size(919, 210); + this.gbVoltageParamSet.TabIndex = 7; + this.gbVoltageParamSet.Text = "-"; + // + // layoutControl2 + // + this.layoutControl2.Controls.Add(this.ucSUVParam); + this.layoutControl2.Controls.Add(this.ucSOVParam); + this.layoutControl2.Controls.Add(this.ucCUVParam); + this.layoutControl2.Controls.Add(this.ucCOVParam); + this.layoutControl2.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl2.Location = new System.Drawing.Point(2, 23); + this.layoutControl2.Name = "layoutControl2"; + this.layoutControl2.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1218, 0, 650, 400); + this.layoutControl2.Root = this.layoutControlGroup2; + this.layoutControl2.Size = new System.Drawing.Size(915, 185); + this.layoutControl2.TabIndex = 0; + this.layoutControl2.Text = "layoutControl2"; + // + // layoutControlGroup2 + // + this.layoutControlGroup2.CustomizationFormText = "layoutControlGroup2"; + this.layoutControlGroup2.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup2.GroupBordersVisible = false; + this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem4, + this.layoutControlItem5, + this.layoutControlItem6, + this.layoutControlItem7}); + this.layoutControlGroup2.Name = "Root"; + this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(0, 0, 0, 0); + this.layoutControlGroup2.Size = new System.Drawing.Size(915, 185); + this.layoutControlGroup2.TextVisible = false; + // + // btnClose + // + this.btnClose.Location = new System.Drawing.Point(3, 711); + this.btnClose.Name = "btnClose"; + this.btnClose.Size = new System.Drawing.Size(919, 63); + this.btnClose.StyleController = this.layoutControl1; + this.btnClose.TabIndex = 6; + this.btnClose.Text = "CLOSE"; + this.btnClose.Click += new System.EventHandler(this.btnCancel_Click); + // + // layoutControlGroup1 + // + this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1"; + this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup1.GroupBordersVisible = false; + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem3, + this.layoutControlItem1, + this.layoutControlItem8, + this.layoutControlItem11, + this.layoutControlItem2, + this.emptySpaceItem1, + this.emptySpaceItem2, + this.layoutControlItem19, + this.emptySpaceItem3, + this.layoutControlGroup6}); + this.layoutControlGroup1.Name = "Root"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup1.Size = new System.Drawing.Size(925, 777); + this.layoutControlGroup1.TextVisible = false; + // + // layoutControlItem3 + // + this.layoutControlItem3.Control = this.btnClose; + this.layoutControlItem3.CustomizationFormText = "layoutControlItem3"; + this.layoutControlItem3.Location = new System.Drawing.Point(0, 708); + this.layoutControlItem3.MinSize = new System.Drawing.Size(93, 26); + this.layoutControlItem3.Name = "layoutControlItem3"; + this.layoutControlItem3.Size = new System.Drawing.Size(923, 67); + this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem3.TextVisible = false; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.gbVoltageParamSet; + this.layoutControlItem1.CustomizationFormText = "layoutControlItem1"; + this.layoutControlItem1.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem1.MaxSize = new System.Drawing.Size(0, 214); + this.layoutControlItem1.MinSize = new System.Drawing.Size(424, 214); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(923, 214); + this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextVisible = false; + // + // layoutControlItem8 + // + this.layoutControlItem8.Control = this.gbChaTempParam; + this.layoutControlItem8.CustomizationFormText = "layoutControlItem8"; + this.layoutControlItem8.Location = new System.Drawing.Point(0, 214); + this.layoutControlItem8.MaxSize = new System.Drawing.Size(0, 214); + this.layoutControlItem8.MinSize = new System.Drawing.Size(216, 214); + this.layoutControlItem8.Name = "layoutControlItem8"; + this.layoutControlItem8.Size = new System.Drawing.Size(459, 214); + this.layoutControlItem8.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem8.TextVisible = false; + // + // layoutControlItem11 + // + this.layoutControlItem11.Control = this.gbDchTempParam; + this.layoutControlItem11.CustomizationFormText = "layoutControlItem11"; + this.layoutControlItem11.Location = new System.Drawing.Point(459, 214); + this.layoutControlItem11.Name = "layoutControlItem11"; + this.layoutControlItem11.Size = new System.Drawing.Size(464, 214); + this.layoutControlItem11.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem11.TextVisible = false; + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.gbCurrentParam; + this.layoutControlItem2.CustomizationFormText = "layoutControlItem2"; + this.layoutControlItem2.Location = new System.Drawing.Point(0, 428); + this.layoutControlItem2.MaxSize = new System.Drawing.Size(0, 214); + this.layoutControlItem2.MinSize = new System.Drawing.Size(216, 214); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(459, 214); + this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextVisible = false; + // + // emptySpaceItem1 + // + this.emptySpaceItem1.AllowHotTrack = false; + this.emptySpaceItem1.CustomizationFormText = "emptySpaceItem1"; + this.emptySpaceItem1.Location = new System.Drawing.Point(0, 642); + this.emptySpaceItem1.Name = "emptySpaceItem1"; + this.emptySpaceItem1.Size = new System.Drawing.Size(459, 66); + this.emptySpaceItem1.TextSize = new System.Drawing.Size(0, 0); + // + // emptySpaceItem2 + // + this.emptySpaceItem2.AllowHotTrack = false; + this.emptySpaceItem2.CustomizationFormText = "emptySpaceItem2"; + this.emptySpaceItem2.Location = new System.Drawing.Point(459, 642); + this.emptySpaceItem2.Name = "emptySpaceItem2"; + this.emptySpaceItem2.Size = new System.Drawing.Size(232, 66); + this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlItem19 + // + this.layoutControlItem19.Control = this.gbDefaultParam; + this.layoutControlItem19.CustomizationFormText = "layoutControlItem19"; + this.layoutControlItem19.Location = new System.Drawing.Point(691, 642); + this.layoutControlItem19.Name = "layoutControlItem19"; + this.layoutControlItem19.Size = new System.Drawing.Size(232, 66); + this.layoutControlItem19.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem19.TextVisible = false; + // + // emptySpaceItem3 + // + this.emptySpaceItem3.AllowHotTrack = false; + this.emptySpaceItem3.Location = new System.Drawing.Point(459, 428); + this.emptySpaceItem3.Name = "emptySpaceItem3"; + this.emptySpaceItem3.Size = new System.Drawing.Size(232, 214); + this.emptySpaceItem3.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlGroup6 + // + this.layoutControlGroup6.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem16}); + this.layoutControlGroup6.Location = new System.Drawing.Point(691, 428); + this.layoutControlGroup6.Name = "layoutControlGroup6"; + this.layoutControlGroup6.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup6.Size = new System.Drawing.Size(232, 214); + this.layoutControlGroup6.Text = "SOC Parameter"; + // + // tmrDisplay + // + this.tmrDisplay.Interval = 500; + this.tmrDisplay.Tick += new System.EventHandler(this.tmrDisplay_Tick); + // + // ucSocParam + // + this.ucSocParam.Location = new System.Drawing.Point(698, 456); + this.ucSocParam.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + this.ucSocParam.Name = "ucSocParam"; + this.ucSocParam.Size = new System.Drawing.Size(220, 181); + this.ucSocParam.TabIndex = 14; + // + // ucDOCParam + // + this.ucDOCParam.Location = new System.Drawing.Point(227, 2); + this.ucDOCParam.Name = "ucDOCParam"; + this.ucDOCParam.Size = new System.Drawing.Size(222, 181); + this.ucDOCParam.TabIndex = 5; + // + // ucCOCParam + // + this.ucCOCParam.Location = new System.Drawing.Point(2, 2); + this.ucCOCParam.Name = "ucCOCParam"; + this.ucCOCParam.Size = new System.Drawing.Size(221, 181); + this.ucCOCParam.TabIndex = 4; + // + // layoutControlItem14 + // + this.layoutControlItem14.Control = this.ucCOCParam; + this.layoutControlItem14.CustomizationFormText = "layoutControlItem14"; + this.layoutControlItem14.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem14.Name = "layoutControlItem14"; + this.layoutControlItem14.Size = new System.Drawing.Size(225, 185); + this.layoutControlItem14.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem14.TextVisible = false; + // + // layoutControlItem15 + // + this.layoutControlItem15.Control = this.ucDOCParam; + this.layoutControlItem15.CustomizationFormText = "layoutControlItem15"; + this.layoutControlItem15.Location = new System.Drawing.Point(225, 0); + this.layoutControlItem15.Name = "layoutControlItem15"; + this.layoutControlItem15.Size = new System.Drawing.Size(226, 185); + this.layoutControlItem15.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem15.TextVisible = false; + // + // ucDLTParam + // + this.ucDLTParam.Location = new System.Drawing.Point(229, 2); + this.ucDLTParam.Name = "ucDLTParam"; + this.ucDLTParam.Size = new System.Drawing.Size(225, 181); + this.ucDLTParam.TabIndex = 5; + // + // ucDHTParam + // + this.ucDHTParam.Location = new System.Drawing.Point(2, 2); + this.ucDHTParam.Name = "ucDHTParam"; + this.ucDHTParam.Size = new System.Drawing.Size(223, 181); + this.ucDHTParam.TabIndex = 4; + // + // layoutControlItem12 + // + this.layoutControlItem12.Control = this.ucDHTParam; + this.layoutControlItem12.CustomizationFormText = "layoutControlItem12"; + this.layoutControlItem12.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem12.Name = "layoutControlItem12"; + this.layoutControlItem12.Size = new System.Drawing.Size(227, 185); + this.layoutControlItem12.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem12.TextVisible = false; + // + // layoutControlItem13 + // + this.layoutControlItem13.Control = this.ucDLTParam; + this.layoutControlItem13.CustomizationFormText = "layoutControlItem13"; + this.layoutControlItem13.Location = new System.Drawing.Point(227, 0); + this.layoutControlItem13.Name = "layoutControlItem13"; + this.layoutControlItem13.Size = new System.Drawing.Size(229, 185); + this.layoutControlItem13.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem13.TextVisible = false; + // + // ucCLTParam + // + this.ucCLTParam.Location = new System.Drawing.Point(227, 2); + this.ucCLTParam.Name = "ucCLTParam"; + this.ucCLTParam.Size = new System.Drawing.Size(222, 181); + this.ucCLTParam.TabIndex = 5; + // + // ucCHTParam + // + this.ucCHTParam.Location = new System.Drawing.Point(2, 2); + this.ucCHTParam.Name = "ucCHTParam"; + this.ucCHTParam.Size = new System.Drawing.Size(221, 181); + this.ucCHTParam.TabIndex = 4; + // + // layoutControlItem9 + // + this.layoutControlItem9.Control = this.ucCHTParam; + this.layoutControlItem9.CustomizationFormText = "layoutControlItem9"; + this.layoutControlItem9.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem9.Name = "layoutControlItem9"; + this.layoutControlItem9.Size = new System.Drawing.Size(225, 185); + this.layoutControlItem9.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem9.TextVisible = false; + // + // layoutControlItem10 + // + this.layoutControlItem10.Control = this.ucCLTParam; + this.layoutControlItem10.CustomizationFormText = "layoutControlItem10"; + this.layoutControlItem10.Location = new System.Drawing.Point(225, 0); + this.layoutControlItem10.Name = "layoutControlItem10"; + this.layoutControlItem10.Size = new System.Drawing.Size(226, 185); + this.layoutControlItem10.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem10.TextVisible = false; + // + // ucSUVParam + // + this.ucSUVParam.Location = new System.Drawing.Point(687, 2); + this.ucSUVParam.Name = "ucSUVParam"; + this.ucSUVParam.Size = new System.Drawing.Size(226, 181); + this.ucSUVParam.TabIndex = 7; + // + // ucSOVParam + // + this.ucSOVParam.Location = new System.Drawing.Point(460, 2); + this.ucSOVParam.Name = "ucSOVParam"; + this.ucSOVParam.Size = new System.Drawing.Size(223, 181); + this.ucSOVParam.TabIndex = 6; + // + // ucCUVParam + // + this.ucCUVParam.Location = new System.Drawing.Point(231, 2); + this.ucCUVParam.Name = "ucCUVParam"; + this.ucCUVParam.Size = new System.Drawing.Size(225, 181); + this.ucCUVParam.TabIndex = 5; + // + // ucCOVParam + // + this.ucCOVParam.Location = new System.Drawing.Point(2, 2); + this.ucCOVParam.Name = "ucCOVParam"; + this.ucCOVParam.Size = new System.Drawing.Size(225, 181); + this.ucCOVParam.TabIndex = 4; + // + // layoutControlItem4 + // + this.layoutControlItem4.Control = this.ucCOVParam; + this.layoutControlItem4.CustomizationFormText = "layoutControlItem4"; + this.layoutControlItem4.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem4.Name = "layoutControlItem4"; + this.layoutControlItem4.Size = new System.Drawing.Size(229, 185); + this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem4.TextVisible = false; + // + // layoutControlItem5 + // + this.layoutControlItem5.Control = this.ucCUVParam; + this.layoutControlItem5.CustomizationFormText = "layoutControlItem5"; + this.layoutControlItem5.Location = new System.Drawing.Point(229, 0); + this.layoutControlItem5.Name = "layoutControlItem5"; + this.layoutControlItem5.Size = new System.Drawing.Size(229, 185); + this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem5.TextVisible = false; + // + // layoutControlItem6 + // + this.layoutControlItem6.Control = this.ucSOVParam; + this.layoutControlItem6.CustomizationFormText = "layoutControlItem6"; + this.layoutControlItem6.Location = new System.Drawing.Point(458, 0); + this.layoutControlItem6.Name = "layoutControlItem6"; + this.layoutControlItem6.Size = new System.Drawing.Size(227, 185); + this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem6.TextVisible = false; + // + // layoutControlItem7 + // + this.layoutControlItem7.Control = this.ucSUVParam; + this.layoutControlItem7.CustomizationFormText = "layoutControlItem7"; + this.layoutControlItem7.Location = new System.Drawing.Point(685, 0); + this.layoutControlItem7.Name = "layoutControlItem7"; + this.layoutControlItem7.Size = new System.Drawing.Size(230, 185); + this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem7.TextVisible = false; + // + // layoutControlItem16 + // + this.layoutControlItem16.Control = this.ucSocParam; + this.layoutControlItem16.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem16.Name = "layoutControlItem16"; + this.layoutControlItem16.Size = new System.Drawing.Size(224, 185); + this.layoutControlItem16.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem16.TextVisible = false; + // + // fmxParamConfig + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 14F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(925, 777); + this.Controls.Add(this.layoutControl1); + this.IconOptions.Icon = ((System.Drawing.Icon)(resources.GetObject("fmxParamConfig.IconOptions.Icon"))); + this.Name = "fmxParamConfig"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Parameter Config"; + this.Load += new System.EventHandler(this.fmxParamConfig_Load); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.gbDefaultParam)).EndInit(); + this.gbDefaultParam.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl7)).EndInit(); + this.layoutControl7.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup7)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem22)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbCurrentParam)).EndInit(); + this.gbCurrentParam.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl5)).EndInit(); + this.layoutControl5.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbDchTempParam)).EndInit(); + this.gbDchTempParam.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl4)).EndInit(); + this.layoutControl4.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbChaTempParam)).EndInit(); + this.gbChaTempParam.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).EndInit(); + this.layoutControl3.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gbVoltageParamSet)).EndInit(); + this.gbVoltageParamSet.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).EndInit(); + this.layoutControl2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem19)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem15)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem16)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem1; + private DevExpress.XtraEditors.SimpleButton btnClose; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private System.Windows.Forms.Timer tmrDisplay; + private DevExpress.XtraEditors.GroupControl gbVoltageParamSet; + private DevExpress.XtraLayout.LayoutControl layoutControl2; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private Controls.ucParamSet ucCOVParam; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4; + private Controls.ucParamSet ucCUVParam; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5; + private Controls.ucParamSet ucSUVParam; + private Controls.ucParamSet ucSOVParam; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7; + private DevExpress.XtraEditors.GroupControl gbChaTempParam; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8; + private DevExpress.XtraLayout.LayoutControl layoutControl3; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3; + private Controls.ucParamSet ucCLTParam; + private Controls.ucParamSet ucCHTParam; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem10; + private DevExpress.XtraEditors.GroupControl gbDchTempParam; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem11; + private DevExpress.XtraLayout.LayoutControl layoutControl4; + private Controls.ucParamSet ucDLTParam; + private Controls.ucParamSet ucDHTParam; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup4; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem12; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem13; + private DevExpress.XtraEditors.GroupControl gbCurrentParam; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private DevExpress.XtraLayout.LayoutControl layoutControl5; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup5; + private Controls.ucParamSet ucDOCParam; + private Controls.ucParamSet ucCOCParam; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem14; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem15; + private DevExpress.XtraEditors.GroupControl gbDefaultParam; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem19; + private DevExpress.XtraLayout.LayoutControl layoutControl7; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup7; + private DevExpress.XtraEditors.SimpleButton btnDefaultSet; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem22; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem3; + private Controls.ucParamSet ucSocParam; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup6; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem16; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem4; + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxParamConfig.cs b/LFP_Manager/Forms/fmxParamConfig.cs new file mode 100644 index 0000000..18b84ef --- /dev/null +++ b/LFP_Manager/Forms/fmxParamConfig.cs @@ -0,0 +1,396 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Linq; +using System.Windows.Forms; +using DevExpress.XtraEditors; + +using LFP_Manager.DataStructure; +using LFP_Manager.Function; +using LFP_Manager.Controls; + +namespace LFP_Manager.Forms +{ + public partial class fmxParamConfig : DevExpress.XtraEditors.XtraForm + { + #region DELEGATE + public delegate void ParamUpdateEvent(object sendor); + public delegate void ParamCmdEvent(int sId, int mode, int index, int flag, + ref CsDeviceData.DeviceModuleData.DeviceParamData aParam, + ref CsDeviceData.DeviceModuleData.DeviceCalibration aCalib); + #endregion + + #region VARIABLES + + private int SystemId = 0; + private CommConfig Config = null; + private CsDeviceData.DeviceModuleData.DeviceParamData Param; + private CsDeviceData.DeviceModuleData.DeviceCalibration Calib; + + private ucParamSet[] ParamSet = null; + + private int PasswordResult = 0; + + public event ParamUpdateEvent OnUpdate = null; + public event ParamCmdEvent OnCommand = null; + + #endregion + + #region CONSTRUCTORS + + public fmxParamConfig(int sId, CommConfig aConfig, CsDeviceData.DeviceModuleData.DeviceParamData aParam) + { + InitializeComponent(); + + Config = aConfig; + SystemId = sId; + Param = aParam; + + InitComponent(); + + gbVoltageParamSet.Text = "Parameter Config"; + + tmrDisplay.Enabled = true; + } + + public void InitComponent() + { + ParamSet = new ucParamSet[11]; + + + // Cell Voltage Parameter + ParamSet[0] = ucCOVParam; + ParamSet[0].SetParamName(0, "Cell Over Voltage"); + ParamSet[0].SetParamName(1, "mV"); + ParamSet[0].SetId(0); + ParamSet[0].OnCommand += OnCmdEvent; + + ParamSet[1] = ucCUVParam; + ParamSet[1].SetParamName(0, "Cell Under Voltage"); + ParamSet[1].SetParamName(1, "mV"); + ParamSet[1].SetId(1); + ParamSet[1].OnCommand += OnCmdEvent; + //ucCUVParam.EnableItem(0, false); + + // System Voltage Parameter + ParamSet[2] = ucSOVParam; + ParamSet[2].SetParamName(0, "System Over Voltage"); + ParamSet[2].SetParamName(1, "V"); + ParamSet[2].SetId(2); + ParamSet[2].OnCommand += OnCmdEvent; + + ParamSet[3] = ucSUVParam; + ParamSet[3].SetParamName(0, "System Under Voltage"); + ParamSet[3].SetParamName(1, "V"); + ParamSet[3].SetId(3); + ParamSet[3].OnCommand += OnCmdEvent; + //ucSUVParam.EnableItem(0, false); + + // Charge Temperature Parameter + ParamSet[4] = ucCHTParam; + ParamSet[4].SetParamName(0, "Charge High Temp"); + ParamSet[4].SetParamName(1, "C"); + ParamSet[4].SetId(4); + ParamSet[4].OnCommand += OnCmdEvent; + + ParamSet[5] = ucCLTParam; + ParamSet[5].SetParamName(0, "Charge Low Temp"); + ParamSet[5].SetParamName(1, "C"); + ParamSet[5].SetId(5); + ParamSet[5].OnCommand += OnCmdEvent; + + // Discharge Temperature Parameter + ParamSet[6] = ucDHTParam; + ParamSet[6].SetParamName(0, "Discharge High Temp"); + ParamSet[6].SetParamName(1, "C"); + ParamSet[6].SetId(6); + ParamSet[6].OnCommand += OnCmdEvent; + //ucDHTParam.EnableItem(0, false); + + ParamSet[7] = ucDLTParam; + ParamSet[7].SetParamName(0, "Discharge Low Temp"); + ParamSet[7].SetParamName(1, "C"); + ParamSet[7].SetId(7); + ParamSet[7].OnCommand += OnCmdEvent; + //ucDLTParam.EnableItem(0, false); + + // Over Current Parameter + ParamSet[8] = ucCOCParam; + ParamSet[8].SetParamName(0, "Charge Over Current"); + ParamSet[8].SetParamName(1, "A"); + ParamSet[8].SetId(8); + ParamSet[8].OnCommand += OnCmdEvent; + //ucCOCParam.EnableItem(2, false); + + ParamSet[9] = ucDOCParam; + ParamSet[9].SetParamName(0, "Discharge Over Current"); + ParamSet[9].SetParamName(1, "A"); + ParamSet[9].SetId(9); + ParamSet[9].OnCommand += OnCmdEvent; + //ucDOCParam.EnableItem(2, false); + + // Low Capacity Parameter + ParamSet[10] = ucSocParam; + ParamSet[10].SetParamName(0, "SOC"); + ParamSet[10].SetParamName(1, "%"); + ParamSet[10].SetId(10); + ParamSet[10].OnCommand += OnCmdEvent; + ParamSet[10].VisibleItem(0, false); + ParamSet[10].VisibleItem(2, false); + } + + #endregion + + #region COMMAND EVENT + + private void OnCmdEvent(int mode, int flag, ParamData aParam) + { + int cmd = 0; + CsDeviceData.DeviceModuleData.DeviceParamData wParam = Param.DeepCopy(); + + switch (mode) + { + case 0: // Cell Over Voltage + cmd = csConstData.UART_PARAM_LIST.CELL_OVER_VOLTAGE; + wParam.CellOverVoltageTrip = aParam.Fault; + wParam.CellOverVoltageWarning = aParam.Warning; + wParam.CellOverVoltageRelease = aParam.Release; + break; + case 1: // Cell Under Voltage + cmd = csConstData.UART_PARAM_LIST.CELL_UNDER_VOLTAGE; + wParam.CellUnderVoltageTrip = aParam.Fault; + wParam.CellUnderVoltageWarning = aParam.Warning; + wParam.CellUnderVoltageRelease = aParam.Release; + break; + case 2: // System Over Voltage + cmd = csConstData.UART_PARAM_LIST.PACK_OVER_VOLTAGE; + wParam.SysOverVoltageTrip = aParam.Fault; + wParam.SysOverVoltageWarning = aParam.Warning; + wParam.SysOverVoltageRelease = aParam.Release; + break; + case 3: // System Under Voltage + cmd = csConstData.UART_PARAM_LIST.PACK_UNDER_VOLTAGE; + wParam.SysUnderVoltageTrip = aParam.Fault; + wParam.SysUnderVoltageWarning = aParam.Warning; + wParam.SysUnderVoltageRelease = aParam.Release; + break; + case 4: // Charge High Temperature + cmd = csConstData.UART_PARAM_LIST.CHG_HIGH_TEMPERATURE; + wParam.ChaHighTempTrip = aParam.Fault; + wParam.ChaHighTempWarning = aParam.Warning; + wParam.ChaHighTempRelease = aParam.Release; + break; + case 5: // Charge Low Temperature + cmd = csConstData.UART_PARAM_LIST.CHG_LOW_TEMPERATURE; + wParam.ChaLowTempTrip = aParam.Fault; + wParam.ChaLowTempWarning = aParam.Warning; + wParam.ChaLowTempRelease = aParam.Release; + break; + case 6: // Discharge High Temperature + cmd = csConstData.UART_PARAM_LIST.DCH_HIGH_TEMPERATURE; + wParam.DchHighTempTrip = aParam.Fault; + wParam.DchHighTempWarning = aParam.Warning; + wParam.DchHighTempRelease = aParam.Release; + break; + case 7: // Discharge Low Temperature + cmd = csConstData.UART_PARAM_LIST.DCH_LOW_TEMPERATURE; + wParam.DchLowTempTrip = aParam.Fault; + wParam.DchLowTempWarning = aParam.Warning; + wParam.DchLowTempRelease = aParam.Release; + break; + case 8: // Charge Over Current + cmd = csConstData.UART_PARAM_LIST.CHG_OVER_CURRENT; + wParam.ChaOverCurrentTrip2 = aParam.Fault; + wParam.ChaOverCurrentTrip1 = aParam.Warning; + wParam.ChaOverCurrentReleaseTime = aParam.Release; + break; + case 9: // Discharge Over Current + cmd = csConstData.UART_PARAM_LIST.DCH_OVER_CURRENT; + wParam.DchOverCurrentTrip2 = aParam.Fault; + wParam.DchOverCurrentTrip1 = aParam.Warning; + wParam.DchOverCurrentReleaseTime = aParam.Release; + break; + case 10: + cmd = csConstData.UART_PARAM_LIST.LOW_CAPACITY; + wParam.LowSocTrip = aParam.Fault; + wParam.LowSocWarning = aParam.Warning; + wParam.LowSocRelease = aParam.Release; + break; + case 16: // Default Parameter + cmd = 0; + wParam.DefalutParamOption = aParam.Fault; + wParam.DefalutParamAll = aParam.Release; + break; + case 0x2D: + wParam.ReadParamAll = 0x002D; + cmd = 0x2D; + break; + case 99: + cmd = 200; // All parameter read + break; + } + OnCommand?.Invoke(SystemId, cmd, 6, flag, ref wParam, ref Calib); + } + + #endregion + + #region UPDATE DATA + public void UpdateData(CsDeviceData.DeviceModuleData.DeviceParamData aParam, CsDeviceData.DeviceModuleData.DeviceCalibration aCalib) + { + Param = aParam; + Calib = aCalib; + } + #endregion + + #region TIMER EVENT + private void tmrDisplay_Tick(object sender, EventArgs e) + { + DisplayValue(); + + OnUpdate?.Invoke(this); + } + #endregion + + private void DisplayValue() + { + ParamData pData = new ParamData(); + + // Cell Voltage Parameter + pData.Fault = Param.CellOverVoltageTrip; + pData.Warning = Param.CellOverVoltageWarning; + pData.Release = Param.CellOverVoltageRelease; + ucCOVParam.UpdateData(pData); + + pData.Fault = Param.CellUnderVoltageTrip; + pData.Warning = Param.CellUnderVoltageWarning; + pData.Release = Param.CellUnderVoltageRelease; + ucCUVParam.UpdateData(pData); + + // System Voltage Parameter + pData.Fault = Param.SysOverVoltageTrip; + pData.Warning = Param.SysOverVoltageWarning; + pData.Release = Param.SysOverVoltageRelease; + ucSOVParam.UpdateData(pData); + + pData.Fault = Param.SysUnderVoltageTrip; + pData.Warning = Param.SysUnderVoltageWarning; + pData.Release = Param.SysUnderVoltageRelease; + ucSUVParam.UpdateData(pData); + + // Charge Temp Parameter + pData.Fault = Param.ChaHighTempTrip; + pData.Warning = Param.ChaHighTempWarning; + pData.Release = Param.ChaHighTempRelease; + ucCHTParam.UpdateData(pData); + + pData.Fault = Param.ChaLowTempTrip; + pData.Warning = Param.ChaLowTempWarning; + pData.Release = Param.ChaLowTempRelease; + ucCLTParam.UpdateData(pData); + + // Discharge Temp Parameter + pData.Fault = Param.DchHighTempTrip; + pData.Warning = Param.DchHighTempWarning; + pData.Release = Param.DchHighTempRelease; + ucDHTParam.UpdateData(pData); + + pData.Fault = Param.DchLowTempTrip; + pData.Warning = Param.DchLowTempWarning; + pData.Release = Param.DchLowTempRelease; + ucDLTParam.UpdateData(pData); + + // Charge Over Current + pData.Fault = Param.ChaOverCurrentTrip2; + pData.Warning = Param.ChaOverCurrentTrip1; + pData.Release = Param.ChaOverCurrentReleaseTime; + ucCOCParam.UpdateData(pData); + + // Discharge Over Current + pData.Fault = Param.DchOverCurrentTrip2; + pData.Warning = Param.DchOverCurrentTrip1; + pData.Release = Param.DchOverCurrentReleaseTime; + ucDOCParam.UpdateData(pData); + + // SOC Parameter + pData.Fault = Param.LowSocTrip; + pData.Warning = Param.LowSocWarning; + pData.Release = Param.LowSocRelease; + ucSocParam.UpdateData(pData); + } + + #region BUTTON EVENT + private void btnCancel_Click(object sender, EventArgs e) + { + this.Close(); + } + + private void btnGetAll_Click(object sender, EventArgs e) + { + ParamData aa = new ParamData(); + OnCmdEvent(0x2D, 0, aa); + } + + private void btnDefaultSet_Click(object sender, EventArgs e) + { + ParamData aa = new ParamData(); + + OnCmdEvent(16, 1, aa); + + //DefaultTempAlarm(); + } + #endregion + + #region FORM EVENT + private void fmxParamConfig_Load(object sender, EventArgs e) + { + ParamConfig_ReLoad(); + } + + private void ParamConfig_ReLoad() + { + switch (Config.ControlLevel) + { + case 0: // User Level + for (int i = 0; i < ParamSet.Length; i++) + { + ParamSet[i].EnableDisableSetBtn(false); + } + btnDefaultSet.Enabled = false; + break; + case 1: // Technician Level + for (int i = 0; i < ParamSet.Length; i++) + { + ParamSet[i].EnableDisableSetBtn(false); + } + btnDefaultSet.Enabled = false; + break; + case 2: // Engineer Level + for (int i = 0; i < ParamSet.Length; i++) + { + ParamSet[i].EnableDisableSetBtn(true); + } + btnDefaultSet.Enabled = true; + break; + case 3: // Master Level + for (int i = 0; i < ParamSet.Length; i++) + { + ParamSet[i].EnableDisableSetBtn(true); + } + btnDefaultSet.Enabled = true; + break; + default: // User Level + for (int i = 0; i < ParamSet.Length; i++) + { + ParamSet[i].EnableDisableSetBtn(false); + } + btnDefaultSet.Enabled = false; + break; + } + } + #endregion + + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxParamConfig.resx b/LFP_Manager/Forms/fmxParamConfig.resx new file mode 100644 index 0000000..d0a61cc --- /dev/null +++ b/LFP_Manager/Forms/fmxParamConfig.resx @@ -0,0 +1,4574 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + AAABAAQAICAAAAEAGACoDAAARgAAADAwAAABABgAqBwAAO4MAACAgAAAAQAYACjIAACWKQAAAAAAAAEA + GAAoIAMAvvEAACgAAAAgAAAAQAAAAAEAGAAAAAAAgAwAAAAAAAAAAAAAAAAAAAAAAAD///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////+/v7+/v7+/v7+/v7+/v7+/v7+/v7/ + ///+/v7////////////////////////////////////////////////////////+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7////+/v7+/v3+/v3+/v3+/v7+/f3////////+/v7///////////////////// + ///////////////////////////+/v7////+/v7+/f3+/v7+/v3+/v3+/v3+/v7////7+ff///////// + ///////////////+/v3+/v7////+/v7////////////////////////////////////////+/v7////+ + /v7+/v7////////////////////////7+PbCnHejazCkbTKkbDKlbjSdYTDLrIr////9/Pz+/v7///// + ///////////////////////////////////////////+/v79/fz////BnHSeYjClbjSkbDKkbDOjazDc + x7L49PGkbDKEOACKQwCJQQCHPgCNRwTt49n+/v39/Pz+/v7+/v7///////////////////////////// + ///+/v7+/v79/Pv//v7j0sKHPgCJQACJQQCLRACCNgCufkv////////q3tKOSQePSgSPSwKRTQSHPgCt + e0f////9/Pv+/v7////////////////////////////////+/v7////9/f39/Pv9/PuiaS6JQQCQTQOP + SwKNSAOUUxLz7ef+/f37+Pb////AmnKGOwCQTAKOSQCPSwKHPwDaxa7////8+/r+/v7+/v7///////// + ///////////+/v7///7+/v77+vj////OsJGGPACQTAKOSQCQTAKGPADNr4/////7+ff9/Pv9/fz38u6Z + WhuLQwCPSgGPSgGLRQGcXyH59vP9/fz9/fz////+/v7////////+/v7+/v7////+/v77+vn////u5NqS + Tw+OSAKOSQCPSwKJQACiai/8+vn9/Pz9/f3+///9/Pv////WvqWHPQCQTAOOSQCQTQOGPADDn3j////8 + +/r+/v7////+/v7+/v7+/v79/fz8+/r9/f3////u49mdYSiKQwCPSwGOSQCPSwKKQgDi0L/////9/Pv+ + /v7//v7+/v79/Pz///+seUOIPwCQTAKOSQCOSQKNSAbq39P+/v39/Pz+/v7////////////////////+ + /v7SuJ6WVRiLRQCRTwaQTASSUAeHPgC4jV7////9/Pv+/v7////+/v7+/v79/Pz+/v7r39SOSQeOSgKO + SQCQSwKHPwCsekT+/v/9/Pz+/v78+/r49PDy6uPi0cDDn3yZXB9/MACEOACHPgCGOwCFPACEOgCTURDz + 7Ob9/fz9/f3////+/v7////////+/v78+/r////CnneGPACQTAKOSQCQTAKHPgDYwan////9/Pz38u7o + 2szgzbvTuZ/MrY/St5zeyrTcyLLcx7Hcx7HdybPVvKfl1cX////9/fz+/v7+/v7////////+/v7////9 + /f39/Pz59fObXiCKQwCPSgGPSgGLRAGaXB349PH9/fz+/v/////////////////28e3AmnrEn3rDn3nE + oXu+lnbcxrD////9/Pv+/v7////////////////////+/v7+/v79/Pv////bxa+HPgCPSwKOSQCQTAKG + PADAmnH////8+/r9/fz9/Pv7+ff9/Purd0F/MACGOwCFOgCEOQCEOADj0sH+/fz9/Pz+/v7+/v7///// + ///////////////////+/v79/Pz///+ufkqHPgCQTAKOSQCOSgKNRwPp3M/+/v79/Pv8+/r////YwaqH + PgCSTwaQTAOSTwaHPgDDn3n////9/Pv+/v7////////////////////////////+/v7+/v79/Pz+/v7t + 4tiNSAaNSAKOSQCQTAKJQQCqd0D+/v79/Pv9/fz49fKbXyCMRQGPSwGPSgGLRAGYWRn38+/9/fz9/f3/ + ///+/v7///////////////////////////////7+/v79/Pv////EoHqFOwCQTQOOSQCQTQOHPwDUu6H/ + ///////Dn3iGPQCQTQOOSQCQTAOGPQDWvaT////9/Pv+/v7+/v7///////////////////////////// + ///+/v7////9/f39/Pv59vScYCOLRQGPSwKPSgGMRQGWVhf7+ffu5duNSAaOSQKOSQCQTAKJQQCqd0D+ + /v79+/r+/v7////////////////////////////////////////////+/v7+/v78+/r////cx7GJQgCQ + TAOOSQCQTAKFOwC/mXKzhVSGPACQTAKOSQCPSgKOSQfq3dH////9/Pv+/v7+/v7///////////////// + ///////////////////////////////+/v79/Pv///+wgU6HPgCQSwKOSQCPSgGMRgCMRwCPSgCOSQCQ + TAKGPADAmnH////9/Pr+/v7////////////////////////////////////////////////////+/v7+ + /v79/Pz+/v3u5NuPSwmNRwGOSQCPSgCPSwGPSgGPSQCPSgGLRACYWRn38u79/fz9/fz///7+/v7///// + ///////////////////////////////////////////////////+/v79/Pv////HpoKFOwCQTQOOSQCP + SgCPSgCOSQCQTAOGPQDVvaP////9/Pv+/v7+/v7///////////////////////////////////////// + ///////////////+/v7////9/f39/fz7+fefZSiIQACOSQCNRwCNRwCOSQCGPQCrd0H+///9/fz+/v7/ + ///////////////////////////////////////////////////////////////////+/v7+/v79/Pv/ + ///fzLmSTxWXWBWWVhSWVhSWVhSWVRrq3dH////9/Pz+/v7+/v7///////////////////////////// + ///////////////////////////////////////////+/v7+/v7////38+728e328e328e328Oz49fD/ + ///+/v7+/v7///////////////////////////////////////////////////////////////////// + ///////+/v7////////+/v3////////////////////////+/v3////////+/v7///////////////// + ///////////////////////////////////////////////////////////+/v7////+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7////+/v7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACgAAAAwAAAAYAAAAAEAGAAAAAAAgBwAAAAAAAAAAAAAAAAAAAAAAAD///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7////+/v7+/v7///////// + ///////////////////////////////////////////////////////////////////////////////+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////// + /////////v7+/v7///////////////////////////////////////////////////////////////// + ///////////////////////////+/v7////////+/v7///////////////////////////////////// + ///38u38+vn8+vj8+vj8+vj8+vj8+vj8+vj7+ff////+/v3+/v7+/v7+/v7///////////////////// + ///////////////////////////////////////////////////////////////+/v7+/v7+/v7////7 + +ff8+vj8+vj8+vj8+vj8+vj8+vj7+ff59fK7kmmbXh+cXyCcXyCcXyCcXyCbXyCdYSGWVR3Fon3////9 + /Pz+/v7///////////////////////////////////////////////////////////////////////// + ///////+/v7+/v79/f39/fz///+1iFqXVx2cYCGcXyCcXyCcXyCcXyCbXiCcYCPn2Mv7+fencTqDOACM + RgCLRACLRACLRACLRACKQwCMRQLq3tL////9/Pz+/v7///////////////////////////////////// + ///////////////////////////////////////////+/v79/Pz////Zw6uGOwCMRQCLRACLRACLRACL + QwCNRwCCNQC4jmH////////r39SNRwWOSgOOSgGPSgGPSgGPSgGQTAOIPwCpdD3////9/fz9/f3////+ + /v7////////////////////////////////////////////////////////////////+/v7+/v79/f3+ + /f359vOZWxyLRACQSwKPSgGPSgGPSgGPSgGMRQKXWBn49PD+/fz8+vn////BnHWFOgCQTAGOSQCPSgCP + SgCOSQCPTAKFOwDVvaT////9/Pv+/v7///////////////////////////////////////////////// + ///////////////////////+/v79/Pv////BnXaEOgCQTAKOSQCPSgCPSgCOSQCPSwGGOwDVvKL////8 + +/r9/Pz9/f349fKZXB2KQwCPSgGOSQCOSQCOSQCPSgGLRAGXWBj38+/+/f39/f3+/v7+/v7///////// + /////////////////////////////////////////////////v7+/v79/fz+/v7r39SMRwWNSAGOSQCO + SQCOSgCOSQCPSwGHPgCpdT7////9/Pz+/f3+/v79/Pv////YwquGPACPSwGOSQCPSgCPSgCOSQCQTAGF + OgC+l23////9/fz+/v7////+/v7////////////////////////////////////////////////+/v7+ + ///9/f39/Pv///+qdkGHPQCPSwGOSQCPSgCPSgCOSQCOSAGLRALp3dH////9/Pv+/v7+/v7+/f39/fz/ + //+se0aHPgCQTAKOSQCPSgCPSgCOSQCOSQKLRALn2s3//v79/Pz+/v7///////////////////////// + ///////////////////+/v7+/v7////+/v78+vn////Rt5qGPACQSwKOSQCPSgCPSgCOSQCQTAKFOwC/ + mXL////9/Pz+/v7////////+/v79/fz///7s4deNSAeNSAGOSQCOSQCOSQCOSQCQSwKHPgCnczv+/v79 + /Pz9/f3+/v7+/v7////////////////////////////+/v7+/v7////////9/f38+/r////j08KNSQiN + RgGOSgCOSQCOSQCOSQCPSgCLRACYWhv48/D+/f39/f3+/v7+/v7+/v7////+/v79/Pz////Dn3qFOgCQ + TAGOSQCPSgCPSgCOSQCQSwGGPADSuJ3////9/Pz+/v7////////////////////////+/v7+/v7///// + ///+/v79/Pv////////cx7KPTA2LRQCPSgCOSQCPSgCPSgCOSQCPSwGGPADWvqb////9/Pz+/v7///// + ///////////+/v79/f3+/f359/SbXiCKQgCPSgGOSQCOSQCOSQCPSgCLRQCVVBT18Oz+/f39/fz+/v7+ + /v7////+/v7+/v7+/v7+/v7+/f39/Pz9/Pv////////49PC/mHSKQgCMRQCPSgCOSQCPSgCPSgCOSQCQ + TAKGPQCreEL////9/Pz9/f3+/v7+/v7////////////////+/v79/Pv////axK6FPACPSwKOSQCPSgCP + SgCOSQCQTAKEOQC8lGn////9/Pv+/v7////////////////////////////////////49fLQs5ibXyWH + PgCPSwKQTQOQSwKQTAOQTAKQTAKPSwOOSgOMRQPq3tP////9/Pz+/v7////////////////////+/v7/ + ///+/v39/Pz///+vf0uHPgCQSwGOSQCOSgCPSgCOSQCOSQGLRAHm18n////9/fz+/v7////+/v36+Pb5 + 9fLz7ejo2s3RtpuwgFCNRwN9LQCCNQCHPgCGOwCFOwCGOwCGOwCGOwCFOwCGPAB/MADCnnj////9/Pz+ + /v7////+/v7////////////////////+/v7+/v79/fz///7v5t6PSgiNRwGOSQCPSgCOSQCOSQCPSwGJ + QAClbjX+/f39/f39/f3//v769/XfzbjZw67QtJrEoX67kmq6kGa/mXLDn3rEoHzEoHvEoHvEoHvEoHvE + oHvEoHvDoHvDnnvEoH369/X+/v79/f3+/v7+/v7////////////////////////////////+/v79/Pv/ + ///GpICFOgCQTAKOSQCPSgCPSgCOSQCQTAKGPADQtJf////9/Pz+/v7///////////////////////// + ///////////////////////////////////////////////////////+/v7+//////////////////// + ///////////////////+/v7+/v79/f3+/f36+PadYiSKQwCPSgCOSQCOSQCOSQCPSgGMRgGUVBP07uj+ + /v39/fz+/v7+/v7+/v3+/f39/fz9/Pv7+vj+/f3cyLSXVyGcYCKcXyCcXyCcXyCcXyCdYSKUUxzDn3z9 + /Pz9/Pz9/f3////+/v7////////////////////////////////////////+/v79/Pz////cx7KHPwCP + SgGOSQCPSgCPSgCOSQCQTAKGPAC5kGP////9/Pv+/v7//v7+/v7+/v7+/v79/f39/fz7+feeYyaGPACL + RQCLRACLRACLRACLRACIQACQTAnw59/+/v79/f3+/v7+/v7///////////////////////////////// + ///////+/v7///79/f39/Pv///+xglCGPACQSwGOSQCPSgCOSQCOSQCOSQGKQgDk1MT////9/fz+/v7/ + ///////+/v79/Pz////HpoOFOgCQTAKOSgCPSgGPSgGOSgGQTAKFOwDPs5b////9/Pv+/v7///////// + ///////////////////////////////////////////+/v/+/v79/Pz+/v7w59+PSgiMRgGOSgCPSgCP + SgCOSQCPSwGIQACiajD+/f39/f39/f3///7+/v79/fz+/v7w6OCPSgmNRwGOSQCOSQCOSQCOSQCPSwKI + PwCiaS79/fz9/fz9/f3+/v7+/v7///////////////////////////////////////////////////7/ + ///+/v79/Pv////Ip4WFOgCQTAKOSQCPSgCPSgCOSQCQTAKEOQDOsZP////9/Pv+/v7+/v79/Pv///+x + glGFOwCQTAKOSQCPSgCPSgCOSQCOSgKIQADj08L////9/Pz+/v7///////////////////////////// + ///////////////////////////////+/v7+/v79/f39/f38+vmeZCeJQQCPSwGOSQCOSQCOSQCPSgGM + RQGRTw7z7ef+/v39/f39/Pz////fzLiHPQCPSgGOSQCPSgCPSgCOSQCQTAGFOwC4jF/////9/fz+/v7+ + /v7+/v7////////////////////////////////////////////////////////////////+/v79/fz/ + ///fzLqHPgCOSgGOSQCPSgCPSgCOSQCQTAGFPAC3jF7////9/Pz+/f38+vifZCiJQQCPSwGOSQCOSQCP + SgCOSgGLRQGTURDz7ef+/v39/f3+/v7///////////////////////////////////////////////// + ///////////////////+/v7////+/v79/Pv///+zhVWFOwCQTAKOSQCPSgCPSgCOSQCOSgKJQQDi0cH+ + /v7////JqYeFOgCQTAKOSQCPSgCPSgCOSQCQTAKEOgDNsJH////9/Pv+/v7////+/v7///////////// + ///////////////////////////////////////////////////////+/v7+/v79/fz+/v3w6eGRTQyN + RwGOSQCOSQCOSQCOSQCPSwKJQQChaC7////x6eKRTgyNRgGPSgCPSgCOSQCOSQCPSwGJQQCiajD8+/r9 + /fz9/f3+/v7+/v7///////////////////////////////////////////////////////////////// + ///////////////+/v79/Pz////LrIuFPACQTAGOSQCPSgCPSgCOSQCQSwGFOwDPspW5j2SGPACQSwGO + SQCPSgCPSgCOSQCOSgGJQgDj0sL////9/Pz+/v7///////////////////////////////////////// + ///////////////////////////////////////////+/v7+/v79/f39/fz9/PygZyuJQACPSwGOSQCO + SQCOSQCOSQCOSACOSACNSACOSQCOSQCPSgCPSgCOSQCQTAKFOwC3i13////9/Pv+/v7////+/v7///// + //////////////////////////////////////////////////////////////////////////////// + ///+/v79/Pv////hz72JQACPSwKOSQCPSgCPSgCOSQCPSgCOSQCOSQCPSgCOSQCOSQCOSQCOSQCMRgGS + UA/y6+X+/v39/fz+/v7+/v7///////////////////////////////////////////////////////// + ///////////////////////////////+/v7////+/v79/fz///+1iVuGPACQSwGOSQCPSgCPSgCOSQCP + SgCPSgCOSQCPSgCPSgCOSQCQTAGFOgDNrpD////9/Pz+/v7///////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7+/v79/f3+ + /v3y6+SSUA6MRQGOSgCOSQCOSQCPSgCPSgCPSgCPSgCOSQCOSQCPSwGIQAChaS78+/r9/Pz9/f3+/v7+ + /v7///////////////////////////////////////////////////////////////////////////// + ///////////////////////////+/v79/Pv////NsJGFOwCQSwGOSQCPSgCPSgCPSgCPSgCOSQCPSgCO + SQCOSQGJQQDi0cD////9/Pv+/v7///////////////////////////////////////////////////// + ///////////////////////////////////////////////////////+/v7+/v79/f39/Pz8+/qiai+J + QACRTQSPSwKQSwKQSwKQSwKQSwKPSwKRTgSGPAC2iVr////9/Pv+/f3////+/v7///////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////+/v79/Pv////j08KGPQCHPQCHPgCIPgCIPgCIPgCIPgCHPwCFOgCRTgvy6uP+/f39 + /fz+/v7+/v7///////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////+/v7////+/v79/f3////JqIeufFOzhVezhFaz + hFazhFayhFazhVete1TWvqb////9/fz+/v7///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/v7+/v7+/v3////////////////////////////////////////+/v3+/v7+/v7+/v7///////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////+/v7+/f3+/f3+/fz+/fz+/fz+/fz+/fz+/fz+ + /f3+/f3///////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAgAAAAAABAAABABgAAAAAAADIAAAAAAAAAAAAAAAA + AAAAAAAA//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////v7+/v7+//////////////////////////////////////////////////////////// + /////////////////////////////////////////fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v39/v7+/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////v7+/////v7+/f38/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/////v7+ + /f39//////////////////////////////////////////////////////////////////////////// + ////////////////////////2MCn3Maw3Maw3Maw3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew + 3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Maw3Mex2cOs8uvk/v7+/f39/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+/f39////4tHA2sSs3Mex3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew + 3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mex3Mew3Mex2cKr9vHtqXQ9ikIAiUEAiUEAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAiUEAikMAgzgAq3hH/v39 + /fz8/v79/v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7+/fz8////49PCiUIBiUEAiUEA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAiUIAiUEAi0MAgzkA + nmMq+vj1/v39sYJUhz4AkU0Ej0oBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0oBj0oBkEwDhz0A1buh/////fz7/v7+/v7+/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v39/Pz8/Pr5pGw1iEAAkE0Dj0oBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sBj0sDjEYG49LC////////7OLWkU4PjEYBj0oBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAj0sBikQAmFod9fDq/v39/v39/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////7+/v7+/v7+/v7+/Pv6////za+QhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChjsAuo9l////+/n4+ff1//// + x6aFhDsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAkEwChTwAv5dw/////Pz7/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/f38/v798evik1IV + i0UBj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkoA + j0oBi0QBlVQX8+zl/f39/fz8/fz8/fz8+vbzoGYuiEAAj0sBjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjkoAjkkAjUkBjEgG6NvN/////fz8/v7+/v7+/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////7+/f7+/v7+/fz7////topehjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sChTwA0LWY/////Pv7/v7+/v///Pz7////3sq3iEABjkoC + jkkAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEsC + hz8Ap3I//fz7/fz8/v79/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v39/v///Pz7////3867iEAAjkoCjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEsChz8ApnE5/fz8/Pz7 + /v7+/v7+/v7+/v7+/Pv7////tIZYhjwAkEwBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0sChTwA0rec/////Pz7/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/v79/fz8 + +/r4oWgwiEAAj0sBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + j0kAjkkAjkoAjkkBikQF5dbG/////fz7/v7+/v7+/v7+/v7+/fz8/v7+8OffkU8QjEYBj0oAjkkAjkoA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAj0oBikMAllcb9O/p + /v39/f38/v7+/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/v7+/Pz7////yquLhTsAj0wCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChToAu5Nq/////Pz7//7+/v7+/v7+/v7+/v7+ + ///+/Pz7////y6yNhTsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAkEwBhTsAu5Rr/////Pz7/v7+/v7+/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz8/v7+7+bckU4PjEYBjkkBjkkA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjUkAj0oBi0QBllcb + 9e/p/v39/f38/v7+/v7+/////////v7+/v7+/v79/fz8+vj1oWgwiUEAj0sBjkgAjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkCi0QF5NXG/////fz8/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+//7+/f39 + /v7+/fz7////tIdZhjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkAj0sChj0A0rec/////Pz7/v7+/v7+/////v7+/v7+/////v7+/v7+/Pz7//// + 38y4ikIDj0oCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0sBhz8Ap3I8/Pv5/fz8/v39/v79/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////v7+/v7+/Pz7////3sm2iUIBj0oBjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEsCiD8AqHM+/fz7/Pz8/v7+/v7+/v7+ + /v7+/////////v7+/v7+/v7+/v7+/Pv7////topehTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAkEsChjwA0bWa/////Pv6/v7+/f39/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/f39/fz8+vj2n2UriUEA + j0sBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkoA + jkgBjEYG5tjJ/v7+/f37/v7+/v7+/////////////////////////v7+/v7+/f39/v398uriklETi0YB + j0oAjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oB + i0UAlVYZ8+3m/f79/f38/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/v7+/Pv6////yKeFhTsAkEwCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChjwAvpZv/////Pz7/v/+/v7+/v7+/v7+//////////////// + /v7+/v7+/v7+/v7+/Pz7////za6QhTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTwAuZBm/////Pv6/v7+/v7+/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v79/v7+/fz7/v7+7ePYkU4QjEcBjkkBjkkAj0oAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0QBmFof9e/p/f39/v39 + /v7+/v7+/////////////////////////////////v7+/v7+/v7+/fz8+/n3o2s1iUEAkEsBjkkAjkkA + jkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAjkkCikQD5NPD + /////Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v79/Pv7/v/+ + sIFShjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAj0sChj0A1Lqg/////Pz7/v/+/v7+/////v7+/////////////////////////v7+/////v7+ + /v7+/fz7////4tHBikMEjkkCjkoAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0sBiEAApW43/Pv5/fz7/v39/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/////Pv6////2sawiD8Aj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEsChz8AqnhE/v79/Pz7/v7+/v7+/v7+/v7+//////// + /////////////////////////v7+/v7+/v7+/v7//fz7////uI1hhj0AkEwCjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0wChj0AzrCT/////Pv6/v7+ + /f39/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/v7+/f38/f389vLtm18jikMAj0oBjkkAjkkA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkoAjUgBjUgH6NzO + /v7+/fz8/v/+/v7+/////////////////////////////////////////////////v7+/v7+/f38/v39 + 8uvjlFUWi0UBj0oBjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0oAjkkAj0oBjEYBlFMW8enh/v79/fz7/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7//v7+//7+/f39 + /Pv6////t4thhjwAj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAkEwChTsAwJp0/////fz6/v7+/v7+/v7+/v7+//////////////////////////// + /////////////v7+/////v7+/v7//Pv7////zrGUhjwAj0wCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwChjwAt4xg/////Pv7/v7+/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7//v3+/Pr6////0bWYhj0Aj0sCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkkAjkkAj0sBi0MAmVsg9vHs/v39/f39/v7+/v7+//// + /////////////////////////////////////////////////v7+/v7+/v7+/v7+/f38/Pr4pW85iD8A + kEsCjUkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + jkoCikIC4tHA/////Pv7/v7+/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7++/r5////38y4i0UHjUgBjkoA + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0wC + hz4A1r6m/////Pz7/v7+/v7+/////v7+//////////////////////////////////////////////// + /////////v7+/v7+/fz8////49LCjEYFjkkCjkoAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBiEAAomoy+/n2/fz7/v39/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v7+/v7+ + /v7++/r5////5NTCj0wQi0UAj0oAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAkEwChz8ArHpI/v7+/fz7/f79/v7+/v7+/v7+//////////////////// + /////////////////////////////////////v7+/////v7+/v7+/Pz7////upBnhTwAkEwCjUgAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0wChToAyqyM + /////Pv6/v7+/v7+/////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/////v7+/v7+/v7+/f39/Pr5////4c+9kE0SikQAj0sBjkkAjkkAj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjUgCjkoJ6d3R/v7+/f38/v7+ + /v7+/////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v39/f399O3nl1gci0UBj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oAjkkAj0oAi0UBk1ET8Ofe/v39/fz7/v7+/v7+/////v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////////v7+//7+/v7+/Pv6/f38////1LuijkkLi0QA + j0sBjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChjwAwp14/////Pv6/v7//v7+/////v7+//////////////////////////////////////// + /////////////////////////////////v7+/v7+/Pv6////0baahj4AkEwCjkkAjkkAj0oAj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwBhTwAtYlc/////Pv6/v7+ + /v7+/v7+//////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/////v7+/v7+/v7+ + /v79+/v5////+/n1wJp1iEEAjUYAj0wBjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBikMAnWAn9/Lu/fz7/f39/v7+/v7+/v7+//////////// + /////////////////////////////////////////////////////////////v7+/v7+/v7+/v7+/Pz7 + /Pv5p3I9iD4AkEwCjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAj0oCiUEA3826/////Pv6/v7+/v7+/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/////////v7+/v7+/v79/Pv6/f3+////6dzPpW89hjwAj0oBj0oBjkkAjkkAj0oAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAj0sChz4A2MKq//// + /Pv6/v7+/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz7////5dbGi0UGjkkCjkoAjkkAj0kAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBiEAAoGct+vj1/fz7/v39/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/v7+/////////v7+/v7+/f39/fz7/fz8////+vj0xaOCjkkJhz8A + j0sBj0oAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAkEwChz0Arn1L/////Pv6/v7+/v7+/v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/////v39/v/+/Pv6////vZZuhjsA + kEwDjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUgA + j0wChDoAyKiI/////Pv6/v7+/v7+/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+///////////+/v7+/v7+/v79/Pv6 + /f38////////28ayn2cyhTwAjEcAj0sCjkkAj0oAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjUcCjkoK69/U/v7//fz7/v7+/v7+/////v7+ + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/f39/f399fDrl1kci0UBj0sBjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkoAjEUAkU4P7+bc/v79/fz7/v7+/v7+/////v7+//////// + /////////////////////////////////////////////////////////v7+/////v7+/v7+/////v7+ + /////v7+/v7+/v7+/fz8/Pv6/v7+////////4M68qnhHiD8AiUEAj0sCj0oAjkkAjkkAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkE0DhjwA + xaJ//////Pv7/////v7+/v7+/v7+//////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/Pv6////07qghz4Aj0wDjkkAjkkA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwBhjwAsoRU + /v///Pv6/v7+/v7+/v7+/////////////////////////////v7+/////v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+///+/v7+/v7+/////v7+/v7+/v79/fz8/Pv6/fz8////////+/n32sSvqnZHikIAhz8AjkoA + j0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjUkAj0sCikMAnmMp+PXx/f38/f39/v7+/v7+//////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/Pz7/f38qXVBiEAAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAj0oBiD8A3cm0/////Pv6/////f39/v7+/v7+//////////////////// + /////////////////////////////v7+/////v7+/v7+/v7+/v39/fz7/Pv6/fz7/f7+//////////// + 7OHWyaiHn2UviD8Ahz4AjkkAj0sCjkkAjkkAjkoAjkoAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wDiEAA28Wv/////Pz7/v/+/v7+ + /////v7+//////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////v7+/v7+/fz7/v//6NrNjkkJjkkCj0kAjkkAjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBiUIAn2Ur+fb0/fz7/f39 + /v7+/v7+/////////////////////////v7+/v7+/v7+/v7+/f38/fv6/fz7/fz6/Pv6/fz8/fz8/v7/ + /////////////////Pz66dzPza6Qq3dGkE0Mhj0AikMAj0sCj0sCj0oAjkkAjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + kEwChz4AsIJS/v7//Pv7/v7+/v7+/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v7+/////Pv6 + ////v5lzhTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkgAkEwBhDoAxqSC/////Pv6/v7+/v79/v7+/v7+/////////////////v7+/////v7+/v7+ + /////////////////////////////v788+3l5NTE07icuY5moWgvj0sIhz4AiUIAj0oAkE0FkU0Dj0sC + kEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsB + kEsBkEsBkEsBkEsBkEsBkEsBj0sBkEwCjEgBkE4O7eTa/v7+/fz8/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/f38/f389vHsmVsgikMBj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAjEYBkEwN7ePY/v7+/fz7/v7+/f39//// + /v7+/////////////v7+/v7+/f38/v//28ayxqSAy6uKxKF6vJNssoReqHNEmVwlkEwKhjwAgTQAgDQA + hDoAiEAAikMAiUIAiEEAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAA + iEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiUIAgjYAx6WD/////Pv6 + /v7+/v7+/////v7+//////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/////v7+/v7+/Pv7////1r2khz4A + j0sCjkkAjUkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + kEwBhjwAsYFR/////fz7/v79/v7+/v7+/////////////////v7+/v7+/v39/v7+4M27za+O0bWW0LOU + z7OV0LOZ0bac07mg1ryk2MCo2cKr2cKs2MGq2MCp18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co + 18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co + 18Co18Co2MCo1r+n2MGq+vf0/v39/v79/v7+/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/v7+/Pv6/v39rHpIhz4Aj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0oBiUEA3May/////Pv6/////f39/v7+/v7+//////// + /v7+/////v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7//v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz7/v7+6d3RjUkJjUgBj0oAjkkA + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBikIAnWIn + +PXx/fz8/f39///+/v7+/////////////////v7+/////////v39/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz8/fz7+/n3+/n3+/n3+/n3+/n3+/n3 + +/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3/Pr4/fz7/fz8 + /fz8/v7+/////v7+/////v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v7+/Pv7////wZx2hDsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAkE0ChjwAxKF8/////Pv6/v7+/v7+/v7+/v7+/////v7+/////v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v///v7+/////v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/f39/f389/Ltm14iiUIAj0oBjkkAjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkoAjUgCkE0N7OHW/v7+/f38 + /v7+/v7+/////v7+//////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/f79/f39+vj20LSYzrCSz7GUzrGTz7GTz7GTz7GTz7GTz7GTz7GT + z7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTzrGTzrGTza+S0LSY+vj1/v7+/v79/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v7//Pz7 + ////2cKriD8Aj0sCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAkEwChz8Ar35O/v7+/fz8/v7+/v7+/v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/v7+/fz7////yaiIgDMAhz0A + hTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhjsAhTsAhDsAhz4A + fS0AtIdb/f38/Pz8///+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+/v7+/fz7/v//rn1Khz0Aj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sCiEAA2MGq/////Pz7/v///v7+/v7+ + /v7+/////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v7+/f38/v797+bdkU8PjUkDkU4Fj0wDkEwDkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0D + kE0DkE0DkE0DkE0DkEwDkE0DkU4FjEcFmVwe9/Pu/v7+/v38/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7//fz7/v7+69/UjkoL + jUgBj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + j0sCikMAm18j+PXw/f39/f39/v7+/v7+/////v7+//////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/fz7////tIZYhj0AkEwCjkgAjkkAj0oAjkkAjkkA + jkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAj0oAjkkAjkkAj0sChj0A0rec/////Pv7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/////Pv6////xKF9hTsAkEwCjkkAjkkAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTsAw596/////Pz7/v7+/v7+/v7+//////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/fz7////3sq3 + iUIAjkoCj0kAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkA + jkkAj0wBiD8AqHM+/fz7/Pz7/v7+/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v3+/v39/fz8+PXxnWIpiUIAj0sBjkkA + jkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkoAjUgBjkoK + 6t7S/v7+/fz8/v7+/v7+/v7+/v7+//////////////////////////////////////////////////// + /////////v7+/v7+/f39/f38+vj1oGgviUEAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkgCjEYH5tjJ/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /v7+/v7+/Pv6////2cStiEAAj0oCjkkAjkkAj0kAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkgAkEwChz4ArHpH/f38/fz8/v7+/v7+/v7+//////////////////////// + /////////////////////////////////v7+/v7+/v7+/v7+/fz8////y6yNhTwAkEwCjkkAjkkAj0kA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTwAvZRs//// + /Pv7/////v7+/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/v7+/Pv7/v7+r4FQhz0AkEwBjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkgAj0kAkEsChz4A17+n/////Pz7 + /v7+/v7+/v7+/v7+/////////////////////////////////////////////////////v7+/v7+/f38 + /v798enfklISjEYBj0oBjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAj0oBi0QAl1gb9O/p/fz8/v38/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/fz8 + /v7+7ePakE0NjEcBj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAj0sCikMBml0i9/Pu/f39/f39/v7+/v7+//////////////////////////////////// + /////////////v7+/v7+/v7+/v7+/Pz7////toldhj0AkEwCjkkAjkkAj0oAj0kAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjUkAjkkAj0sChTwA0baa/////Pv7/v7+/v7+/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+//7+/Pv6////x6SDhTsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjUgAjkkAkEwChTwAwZx1/////Pv7//7+/f39/v7+ + /v7+/////////////////////////////////////v7+/////v39/v7+/fz7////4M67ikICj0oCjkoA + jkgAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0sBiD8A + pnA8/Pv6/fz7/v7+/v7+/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v79/fz8+fbznmMq + iEEAj0sBj0kAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + jkoAjUkCjUgI59rM/////fz8//7+/f39/////v7+/////////////////////////////////////v7+ + /v7+/v39/f38+vj1oWgwiUEAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0kAjkkAj0kAjkkCi0QG5dXF/////fz7/v7//v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////v7+/v///Pz7////3cm1iEAAjkoCjkkAjUgAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChz8AqndD/fz7/fz7/v7+/v7+/v7+//////////// + /////////////////////v7+/v7+/v79/v7+/Pz7////y6uMhTwAkEwCjkkAjkkAjkoAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTsAu5Fn/////Pz7/v7//v7+ + //7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7+/Pz7////s4RVhjwAkEwCjkgA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkkAj0wChz4A + 1bui/////Pz7/v7+/f3+/v7+/v7+/////////////////////v7+/////f39/v7+/f38/v398Ojfk1ES + jUYBj0oBjkkAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + j0oBi0UBllYa8+zl/fz9/v38/v7+/v7+/v////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7//f38/v797+XckE0OjEYAj0oAjUgAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAj0sBi0QBmVoe9vHr/f39/f39///+/f39/////v7+//////////////// + /////v7+/v7+/v7+/Pz7////tYldhj0AkEwCjkkAjkkAj0oAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0oAjUkAjkkAj0wChTsA0bWZ/////Pv6/v7+/v7+/v7+//7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/v7+/Pz7////yKiGhDoAkEwDjkkAjkkAj0oAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkgAjkkAkEwChjwAv5dw/////Pv6 + /v7+/v7+/v7+/////////////////v7+/v7+/v7+///+/fz7////4dC/ikMDj0oCjkkAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wCiD8ApW85/Pv5/fz7 + /v79/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/v39 + /fz8+/j1oGYtiUEAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAjkoAjkkCjEcG5tjK/////fv7//7+/v7+/v7+//7+/////////////v79/v7+/f39/fz8 + +/r4o2oziUAAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0oAjkkCi0UF5NTE/////fz8/v7+/v7+/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////v7+/v7+/fz7////3su4iUEBj0sCjkkAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEwChz8AqHRA/f38/fz7/f39/v7+/v7+ + /v///////v7+/v7+/v7+/v/+/Pv7////za+RhTwAkEwCjkkAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkE0ChjwAu5Jo/////Pz7/v7+/v7+/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/fz7////tIdZ + hjwAkEwCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + jkkAj0wChjwA0rec/////Pv6/v7+/f7+//7+/v7+/////v7+/v7+/f38/v7+8erilFITjEYBj0oBjkkA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0UAl1YZ + 8+3m/f39/f39/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/fz8/v398Offk1ISjEcBj0oAjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBi0QBl1ga9O7n/f38/f39/v7+/v7+/////v7+/v7+ + /v7+/Pv6////t4tfhjwAkEwCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0oAjkkAjkkAkEwChz4A0LWZ/////Pz7/v7//v7+/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+/v7+/Pv7////zK2Ohj0AkEwDjkkA + jkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkgAkEwChjwA + u5Nq/////Pv6/v7+/v7+/v7+/v7+/v7+/Pz7////4dC+ikMCj0oCjkkAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wCiEAAp3E7/Pv5/fz7/v79/v7//v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/////v7+/fz7+/j2o2sziUEAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkAjkkAjkoAjkkCjEcG5dbH/////Pz7/v7+/v7+/v7+/v39/fz8+/n3pG00iUEA + j0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0kA + jkkCikQE49PC/v7//fz8/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////4c+9iUICj0oCj0kAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBiEAAp3E7/Pv5/fz8 + /v79/v7+/v7+/Pv6////zK+Qhj0AkEwCjkkAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkgAkE0ChTwAuY9j/////Pv6/v7+/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/v7+/v7+ + /Pv6////t4xghjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAjkkAkEwChj4Az7OX/////Pv7/v7+/f38/f398erilFQVi0YBj0oBjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0UBlVUW8+zl/v39/f39 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/f38/v7+8+zllFQVi0UBj0oAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0sBi0UAlVUX8uzk/v39/fz8/Pz7//// + t4xhhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oA + jkgAjkkAj0wChjwA0LOX/////fz7/////v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v///fv7////zrGU + hjwAj0wCjkkAjUkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChTwAuI5k////+/r5////4tHAiUIDjkoCj0oAjUkAjkoAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0wCiUAApW84/Pv6/f38/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v///v7+/f38+/r4pG02iEAAj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0kAjkoCikMD4tC//v79+vj1pG02hz8AkEsBjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkkCi0QF49TD + /////fz8//7//v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/////fz8////49TEi0UFjkkCj0oA + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBiEAA + oWkx////zrGThTsAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkgAkEwChj0AupBl/////fz8/v///v7+/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/v/+/fz8////uZBkhj0AkE0CjkgAjUkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAjkkAjkkAj0sAiEAAwZ12m18iikIAj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjEYBlVYX8uzl/v79/v39/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/f39/v398+zmllYXjEYBj0oBjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAjkkAjkkAikMAjEYAjkkA + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjkgAjkkAkEwC + hj0Az7SX/////fz7//7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//7+ + /fz7////0bWZhz0Aj0wCjkkAjUgAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0oBjkoAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAjkkAjkkAj0wCiEAApW86/Pv5/fz8/v7+//7+/v7+//7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+//7+/v7+/fz8/fz7p3I+iD8Aj0wCjkkAjkkAjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAjkkAj0kCikQF49PD/////Pz8//7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+//7+/fz8////5dbH + jEYHjkoCj0oAjkkAj0kAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oA + jkkAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChj0AuI1i/////fv8/v/+/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/v7+/v///fz7////vJRqhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oBjEUBlFQW8uri/v7+/f39/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/f39/f399O7ol1kci0QBj0sB + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjUgAjkkAj0wChj0AzbCT//// + /Pz8/v7//v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/Pz7////07mfhj0Aj0wCjkkAjUgAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjkkAjkkAkEwCiEAAomw0/Pr4/f39/v7+/v7+/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////v7+/v7+/fz8/fz8qHNAhz8AkEwCjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkkCiUIC4dC+/////fz7/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz8////5tjJi0YFjUgCj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAkEwChTwA + t4tf/////fz7/v7+/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/v7+/fz7////vZZuhTsAkE0CjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0oBi0YBlFMT8eri/v7+/f38/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v39/f399vHs + mVseikQAkEsBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkgAjkkAkEwChj0Aza+Q/////Pv6/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/Pz7////1Luhhz4AkEwCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + j0sAiEAAo2w0/Pr4/fz8/f39/v7+/v7+/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/v7+/v79/fz7/f38qndDhz8AkEsB + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAjkkAjkkAjkkBi0QD4c+9/////Pz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/fz7/v7+6NvNjUkIjUgBj0kAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwBhTsAt4xf/////Pv6 + /v7+/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/Pv6////wZt2hTsAkEwBjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0oAi0UAlFIT8eri/v39/fz8/v7+/f39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/v7+ + /f38/fz89vHtmVsfikMAj0sAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEsChDoAy6uN/////Pv6/v7+/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/f3+/v7+/Pv7////1r6lhj0Aj0oBjkkAjUkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sAiEAAoWkx + +/n3/fz8/f39/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v39/fz7/v7+ + rXtJhj0AkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oBjkkAj0oBjkoCiEEA4M68/////fz7/v7+/v39/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////f39/v7+/fz7/v7+69/SjkgJi0UAjkgAjUcAjUgAjUgAjUgAjUgAjUgAjUgAjUgA + jUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUcAjUcAjkoAhDkAtYlb/////Pz6/f7+/v7+/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/v39/v7+/Pz7////xKF9jEcSlVQW + k1IUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUk1IUlFMV + kU8TmVoj8ejg/v39/fz7/v7//f39/v////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v///f39/f38/Pv67+bd8Ofe8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off + 8Off8Off8Off8Off8Off8Off8Off8Off7uXd9O7o/////f39/v7+/v7+/v7+//7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v////7+/v7+/v7+/v7+//////////////////////// + /////////////////////////////////////////////////////////////////////////v39/v7+ + ///+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////7+/v////// + /////v7+/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v79/////////v7+/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/////v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAEAAAACAAABABgAAAAAAAAgAwAAAAAAAAAAAAAA + AAAAAAAA//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v79/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////9/Lt9/Pu + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Pt/v7+/v79/v7+/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v79/v799/Ls9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Pt9/Lt/v39pm80omkso2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2svnmMrzrGR/////fz7//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/fz8//// + 1bygnGAqo2svo2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2svnWEruY9i/fz8wJpwkUwEiUIAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0UAiUAAlVQT7uTZ + /v39/fz8/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f38/v7+9O3nmFkViD8Ai0UAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAikMAi0MA3sq1/v7+/fz8wJhviD8AkU0Fj0sCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkU0EiD8AuItb/////f38/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7////vZNniD8AkU0EkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCj0sCkU4EiUAAuY9h + /////Pn4/v7+9e/pnF8ei0UAj0oBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0MA3cix/////fz7//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////Pz7////49G/j0oHjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEYBl1cU8urj/v39/fv6+vf0//// + 1LqfikIAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoAj0sBikIAoWcq9vLt/fz7/v39/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /f38+/n3p3A0iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEAzrCQ/////fz7/v7+/fz7/fz7+/n3q3hBiUAAkEsC + j0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiEAAyKaB/////fz7/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/Pz7////z7GRiUEAkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oBikIApnA0/fz7/v39/v7+/////////f38////6NrMkEwHjUgBjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoA + jUgBlFIO7uTa/////f38//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz8/v398OfellYTjEYBj0oBj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgB + jUYA4tG+/////fz7/////v7+/v7+/////fz8////wJpvhz4Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsCiD8As4RR/fz7 + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v38////uY9ghz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8Au5Fk/////f38/v7+ + /v7+/////////v7+/fz8/v389e/pnmMmi0MBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCi0QB3Mav/////fz8/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/Pz8////4tG+jUgCjkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0UAmFkW9e/o/v7+/f38//////////////////// + /////fv6////17+miUEAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikMAoWgp+vfz/v7+/v79//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f39/fz8+/j2pW4z + iUAAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAj0oBiUEA0ria/////fz8/v7+/v7+/////////////////v7+/v39/v39/v/+ + sH9LiEAAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoAj0sCiD4Ax6Z//////fv6/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////7+/v7//fz8////yqqHiD8Aj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0sCiUIAqXU7/fz7/v39/v39/////////////////////////////v7+/fz7/v7+6t3PkU4NjkgCjkoB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0oAjUcBkU0N7ODU/////f39/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v///f38/v7+7+bdlVMOjEYBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkBjUgB5dXG//// + /f38/////v7+//////////////////////////////7//fz7////w551iD4AkEwCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sB + hz4Ar35J/v39/fz8/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v39/fz7////tolYhz4Aj0sDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBiEAAvZZq/////f37/v7+/v7+//////// + /////////////////////v7+/////f39/v7+9vHsnmMki0QAj0sAj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oCi0QB2cKo//// + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz8//// + 3su3jUcDjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBmlsZ9O7n/v79/f38//////////////////////////////// + /////////v7+/v7+/fz6////2cGpikIBj0oDjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBi0MAn2Qn+PTw/v79/f38/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f39/fz8+vf0omosiUEAj0oBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sCiD8A0reZ/////fz7/////v7+//////////////////////////////////////////// + /v7+/fz7/Pv6sH9KiD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0Aw594/////fz7//7///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/Pz7////yqmGiUAAj0sCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUEAq3hA + /Pz6/f38/v39//7+/////////////////////////////////////////////v7+/////f37////7OLW + k1EOjUcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoBjUcCklAO6t7Q/v7+/fz7/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////f39//7/7ePYk1ENjUcAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUcBj0sG6NrL/////fz8/v///v7+ + /////////////////////////////////////////////////v7+/v7+/fz7////xqR+hz4Aj0sCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEsBiUEAsIFN/v79/v39/v3+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v79 + /Pz7/v7+s4RQiEAAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBhz4AwZty/////fz8/v7///7+//////////////////// + /////////////////////////////////////v7//v39/v399/PuoWgrikIAj0oBj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iEAA176j/////fz7//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/fz8////2sSti0QBjkoC + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0kAj0sBi0QAm14d9vHr/v79/f39//////////////////////////////////////////// + ///////////////////////+/////fz8////3MawikMBj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCi0QBnGAi9O7n/v38 + /fz8/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////f39/v39+fbzoGcoikIAj0sBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iUEA1buf/////fz8/v7+/v7+//////////////////////////////////////////////////////// + /////////v7+/f79/fz8/f39soNPhz4Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz0AwZxz/////f38/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/Pz7////x6V/iD8AkEwBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wBiEAArHpD/v7+/v38/v7+ + /////////////////////////////////////////////////////////////////////////////v7+ + /f38/v7+69/SlFIPjUcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkgBkEwG6dvN/////fz8//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////Pz7/v397ODUlFMRjUcCj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBkE0I6NvM//7+/fz8/////v7+//////////// + /////////////////////////////////////////////////////////////////////fz7////yKaB + hz0AkEwDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sCiUEArXtG/Pv5/fz7/v39/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v///f38////sH9K + hz8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0wChz8AwJlv/////f38/v7+/v7+//////////////////////////////// + /////////////////////////////////////////////v7+/v7+/f39/f389/Puomgti0MAj0sCj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0sDiD8A1r2i/////fz7/////v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/f38////18ClikMAj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0oBi0QAnmIj9vHs/v39/v39//////////////////////////////////////////////////////// + /////////////////////////////////////v7+/fz8////3sq0jEYAjkoCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAi0UA + nWAf9vHs/v7+/v79//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/f38/f389vHsn2Qli0QBj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCikIA2MGo//// + /fz7/////v7+//////////////////////////////////////////////////////////////////// + /////////////////////////////fz8////tYhWhz4Aj0wBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiD8AwJpw/v7+/fz7 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////+/////fz7////xKF6hz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wBiEAAsH9L/////f38/v79/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////fz7/v797uXblVQVjEYBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkCjkkG59jJ/////f38/////v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v///f38//// + 6t3PkU4IjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgBkU4J6t7Q/v7+/fz8//////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz7////yqqGiEAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUEAqnY9/Pr4/v39/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////+/v39/fz7/fz7r39KiUEAj0sCj0kA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEwChz0Aw553/////fz8/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f39/v79+/n3omor + ikEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkoAj0sCiEAA0raY/////fz6/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7//fz7////1ryiiUIAj0oCjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikMBnmMm + +PTw/v39/f39//////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz7////38u2i0QEjkoDjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0kAj0sBjEUAmVwb9e/p/v7+/f38//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////f38/v7+9vHsnF8eikMAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA2MCl/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/fz8/v7+t4pZiD8AkEwCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz4A + vpVq/////fz7/v/+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /Pz7////wJpwhz0Aj0wDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAAr39J/v7+/v39/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////f39////8urillcTjEYAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUgCjkgE5dXE/////fz7 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////fz8////59nLkEsHjUgB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoBjEcBk1AN7OLW/v///fz7//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/Pz7////za6OiEAAj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBiUEAqnY8/f38/v39/v3+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////f39/fz8/fz7rHlCiUEAkEsBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iD8AyKaB/////fz7/v///v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v79 + /fz7+fXypW0xiUEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEA0bWX/////fz8/////v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/fz7////z7OTikIAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBikMAn2Yl+vf0/v7+/f39 + //7///////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/////fz7////4tG+jEYC + jkoBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oBjEUCl1gY8+vk/v79/fz7//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////f38////7eLWlFEOjEcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkoBi0QA28av/////fz7/v7//v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v79/fz7/v7+uY5fiEAAj0wCjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEsCiD8Auo9h/////fz8/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v79/fz8+/r4rHlE + iUEAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBiD8As4RR/f39/v39/v7+///+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7//f38/v7+7+fdl1cUjEYBjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBjkgB + 4tC+/////f38/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v///v7+/Pz7////wp51hz4Aj0sCj0kAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjUcBk1EN7+Xb/////f39/////v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////fz8////z7GRhz4Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAp3E4/Pv5/v38/v39 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+//7+/fz7////3ciwjEUAjkkBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0Ax6WA//// + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/f39/fz7+vj1qHI4iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAkEsCiD8Az7GR/////f38/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/////fv7////7OHUlVQWjEYBj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikMAomks+PPv/v39/v79//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/fz7 + ////5NPBj0oGjkgBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBjEYAl1gU8uri/v7+/fz8//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7//f38////8uvj + n2QoiUEAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCi0QB38u2/////fz7/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f38////u5Jlhz0A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBiD8AupBi/////fz8/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////fz8/v7/+PTvq3dAiD8AkEwBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0wCiEAAt4pa/v7+/f38/v79/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/fz8/v398erimVwcjEUBj0sBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkBjUgE4M66/////fz7/////v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/////fz8////+vj1rHpFiD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjUcBlVQR + 7+bd/v7+/f39//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/fz7////0LSUiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikIAo2sv + +/n4/v39/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v39////+/n2tYhXhz4Aj0wDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0AyquI/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/fz8/fz7qHM5iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4Ay6uJ/////fz7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+///+/v7+/fz7////+vf0 + rXtIikIAj0sDj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sBikIAo2wx+PXx/f38/f38/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////Pz7////4tLAjkgHjUgCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBllYS8Oje/v7+/f38//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////fv7////9/Puq3hChz4Aj0sBj0oAj0kA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkoBi0UA4M24/////fz7//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/Pz6 + ////vpZqiD4Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AuItc/////fz8/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////7+/////v7+/fz7////7+XaomoxiEAAkEwDj0oAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwC + hz4AtolZ/////fz8/v3+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////f39/v7+9vHsnGAdi0MA + j0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkCjEYB38y3/////fz8/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /v///v39/Pz7////38y3mFkciUAAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEYDllYX7+bc/v7+/f38 + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/fz7////1LqeiUEBj0sDjkoAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoA + j0sBikIApGww+vj1/v39/f39/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////////Pv6////////y6yJ + j0sEikMAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiD8Azq+O/////fz7//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v39/fz7/Pr5qnY9iD8Aj0wCj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AzK2M + /////Pz7/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/////v7+/fz7////8+zks4NTiUEAjUkAkEsCjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAkEsBiUEApnA0/fv6/v39/f79/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v///f38////5tjJkUwIjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYBlFIP7uTa/v7+/f38//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////v7+/fz7////////3Mixm14hiEAAj0sCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjkkCjkkG4c+7/////fz7/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //7+/v7+/fz7////v5lviD8Aj0sDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUAAtIZV/////v39/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+///+/v39 + /fz8////+PTvvpZujUgDikQAkEwDj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4AuI1d//// + /fz7/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////7+/f38/f38 + 9O7nm10ci0QAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA3ciy/////fz8/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////v7+/fz7////////28aunmImhz4A + jkkAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYAl1gW8+vk///+/f38/////v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7//Pz7////1LqdikIAj0sB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oBikMAoWgp+fby/f39/f39//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/////v7+/fz7/v//////8OjdtolbjEUAikMAkEwCj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAzrGR/////fz7/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v39/fz7/f38rn1HiD8Aj0sCj0kAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0sBiD8AyKiE/////fz8/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////f38////////+/j2y62LlVQSiD8AjkoBj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0oBiUEApW4z+vj1/v39/v39//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/Pz7/v7+6d3Qkk8LjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUcBkk8J7eTZ + /v7+/f38/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////v7+/f38/f39/////Pr4 + 2sSsomktiD8AjEcAkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjkkAjkgD + 49PB/////fz8/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f38////w552hz4Aj0wBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD4As4VS/////f39/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/////f38/v7+////////38y3qXU+iUEAikMAkEsCj0sB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4AvJNm/////fz7/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////f39/f389vHrnGAgikMAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBjEYA3Mex/////fz7/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////////v39/fz8/v7/////////4tC9rntHjUgCiUIAkEsCj0sBj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oBjEUBmVsZ9O7m/v7+/f38//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/Pz7//// + 2MCnikMAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0oAi0MAnmMj+ffz/v39/f38//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/v39/fv6//// + /////fz82MGnrXtIjUYAiUEAjkkAkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sCikEA0bWX/////fz7/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f39////r35IiUAAj0wC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiEAAxKF6/////fz8/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////v7+/f38/fz6/v7/////////8uvj0bWXomktjEUAiD4A + j0oBkEsBj0oAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsC + iUEAqHQ7+/j2/fz8/v39/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////fz7/v7+6NvNkEwIjUgBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jUgBkk8K7ODV/////fz7/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////v7+/v7+/v7+/v39/v39/////////f3859jKvZVqnF8hiD8Ai0QAj0oAkEwEj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgBjkkE5dXE/////fz7 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/Pz7////w551iD4Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAsIBL//// + /f38/v7+///+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////v7+/fz8/fz6//////// + ////////69/T0baYqndBjkgAiUAAi0QAkEwDj0sBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AvZRo/////fz7/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f39+vbzn2UlikMAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCi0QA2sOq/////fz7/v7//v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/v79/v38/v38/f38/v///////////v398Ojf0bWXsYBNlVUShz0A + ikIAjkkAkEwCj0sCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oBi0UBmlsc8eri/v39/fz8/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////Pz7////28avi0MBj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikMAnmIj+PXx/v39/f38///+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v79/f38 + /fz7/fz6/v7+/////////////////Pr55dXDyaqHr31Lkk8HikMAiUEAjUYAkEwDj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAj0oBiUEA1Lqd/////fv6//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/f79/fz7/f38 + sYJOiEAAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AxKB5/////fz8/v///v7+//////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////v7+/v39 + /v39/v39/v39/v39/v39/v38/v38/fz8/fz8/f38/f38/v38/v38/v39////////////////////9vDq + 6d3P0baYtIZVn2Unkk8HhjsAiUAAjkgAj0sBkEsCj0sBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUAArHpD/f38 + /v39/v39/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////fz8////7OHWkk8KjUcAjkoA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjUgBkU4J6NrM/////fz8//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////9O3l49PB1Lqew552soNRnmIhikIAikIAiUEAikIA + jUgAkE0EkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoBjUgCj0wK59nK/////fz7/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////xqR+hz4AkEwCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iUEArnxG/v7+/f38/f39/v7+//////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz6+PXv+fXy+fXy+fXy+fbz9vDr8Oje8Oje6dzO + 5NXE2MCmzbCPv5dusIBMn2UnmlwZk1EJjEUAhz0AiUEAjUcAkEwEkE0EkU0EkU0EkEwDj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sBkE0Ehz4Av5ht/v7+/fz7/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////+/f39/f389/PuoGYnikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAA1r2i//// + /Pz7/////v7+//////////////////////////////////////////////////////////////////// + /////////////////fz7////4M25l1YeoGYnn2MknmMkn2QmmVsYkUwEkU0FhTkAgzcAhDgAhDkAhDkA + hToAhToAhz0AiEAAikIAi0UAi0QAikIAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAikIAhz0Am1wc9O7o/v7+/f39/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+//7//f38////2sSsi0QAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0UBnWEg9fDr/v39/f39//////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////6NrMtIZYupFjuY9huo9huY9gupBjvJNnvJNnvpdsv5dtv5dtv5dsvpdsvpdsvpdsvpZrvpZr + vpVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvpdsuI1g + 4M24/////fz8/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////+ + /v7+/fz7////tIZUiD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8AwZxy/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz7/v397ePY + llURjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkgBkEsF6NrN/v7+/fz8/////v7+//////////////////////////// + /////////////////////////////////////////////////v7+/////v79/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v39/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/Pv7////yaiEiD8Aj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEsCiUEArXpD/v7//f39/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////f39/v38+vf0oWgrikIAj0sBj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oB + ikMA1bqf/////fz7/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz7////3MiyjEYBjkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0QAmlwa9O7n/v39 + /f38/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/f39////tIdViD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD4Avpds/////f38/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /fz8/v7+7+XblFIOjEYBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgBjkoD5dbF/v7//fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v38/v39 + /v38/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/////////v////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz8////y6uI + iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBiUEAq3c//fz7/v38/f79//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f39/v39/Pv6pGwuikEAj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sCikIA1Lqd/////fz7/v///v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7++fbzqXY9nmImoGYnoGUnoGUnoGUnoGUnoGUnoGUnoGUn + oGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUn + oGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnn2UnoGUnnmMm4c+8//// + /fz8//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz7////4tC9jUgEjkkCjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0QA + mVsZ8+zl/v38/fz8//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/fz7////xaJ8hToAi0QAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAi0QAhDoAqHI6+/n3/v39/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz8////uIxciUAAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8AvpZs/////fz7 + /v7+//7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz7/v7+ + 7ODUk1EPjUcCkEwDj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sCkEsCjkkDkk4L6t7Q/////fz7//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////f39/v7+8enhllYQjUYAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkkE49PB/////fz8/v///v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/f38////soJOiEAAj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0wBiD8Awp10/////fz8/v7+/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /Pz7////za+OikEAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sDiEAAp3I3/Pr4/f38/v39/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/Pz7////2cOri0QAj0oBjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0UAnWAf + 9vHs/v79/fz8//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/f39/f38+/n3pm8z + iUEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0oCikIA0LOU/////fz8/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/f38/f38+PPvoGcqi0QBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCiUEA1r2i/////fz7/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////fz7////4tC9jkkDjkkBjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAi0YAl1gT8+3l/v7+/f39//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////x6V/iD8AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiEAArXtF/f38/f38/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/fz8////vJJmiD4AkEwCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiEAA + upFj/////fz8/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f38/v7+6t7RklALjUcB + jkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0kAjkgBkU0I6NrM/////f38/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7//fz8/v798eril1kVi0QAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgBj0oG5NPC/////fz7 + /////v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v79/f38/f38soNQiUEAj0sCj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsC + hz4AwZty/////fz8/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////+/v///f37////0bWXiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApm8z/fz6/f38/f39//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////fz7////3MexikMAj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0MBnGEj9vLt/v39/f38 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////f39 + /f38/Pr4qHM6iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oCiUEAz7KS/////fz7/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v39/f38+PXxomotikIAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUIA1r2i/////fz7/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz7////49PBjUgC + jkkBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjEYBllYU8ejf/v79/f38/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz7////y6yJ + hz8Aj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAkEsBiD8ArXpD/fz7/v38/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/fz8////vJNmhz8Aj0sBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEsChz4At4ta/////fz8/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////f39////7ePZlFIPjEYAj0oAj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjUgCkEwL6dzO/////fz7//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////fz8/v398+vkmFoXi0UAj0oBj0kAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkkBjUcD + 38y3/////fz7/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/fz7/f38tYdVhz8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AwZtx//// + /fz8/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/fz8////0reaikIAjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApGww+/j2/v38/f39 + /////v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/fz6////3su1jEUEjkoCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0QAnGAf9fDq/v79/f39//7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v79/v39/f39q3c+iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AzKyK/////Pz7/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v/+/f39/v79 + +fb0o2otikMAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCikIA07eb/////fz7/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/////fz8 + /v7/59fIjkoEjUkBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0YBl1cV7+bc/f39/fz7/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+//7//fv7////yqmGiD8AkEwCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sBiEAAqXU7/Pv6/f38/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz8////v5dtiD4A + kEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBiD8Atotb/////fz7/v7+///+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////7+/fz8/v7+7uTalVQUjUcCj0oBj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkCj0oK + 5tbG/////fz8/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////f39/v399O7om10ci0UBj0oBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAj0oBjUcB4M25/////f38/v7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////f38////tolXiD8AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD4Avpdr/////fz7/v39/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////fz8////07ibiUAAkEsBjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCikIAomos + +PTw/fz8/f39/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////3ciyikMAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAi0UAmlsY9O7n/v7+/v39/v////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f39/f38/v79q3c/iUAAj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz4AyaiF/////fz7//// + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f39/f38+fXxomoviUEA + kEwCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0sCiUAA07mc/////fz7//////7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////fz8////6NvMkEwHjUgBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUcAk1EL7uTa/////f39//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////f38////y6uJhz8Aj0sBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sB + iUAAq3dA/Pr4/fz7/f39/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v///fz7 + ////wpxziD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8AtIZU/v39/fz7/v39/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////f38/v7+7uPYlFMPjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgBj0oC5dbG/////fz7 + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////+/fz8/v399/LunGAfi0MA + j0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0kBjEUC3cm0/////fz7/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v79/f38/v7+tYhYiD8AkEsCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz0AvpZr/////fz8/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v///fz7////17+likMAj0oBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + j0oBikMAomgq+vf0/f39/v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////Pz7////4M24 + i0UAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0sBi0QBm10f8+3m/f38/fz7/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////7+/v79/f39////rnxGiUAAkEsCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiEAAyKWB + /////Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v79/f38+PTxomkti0MAj0sBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEwBiUEA0rea/////fz7/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7//fz7////6t3QkE0IjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjUcBkk8M69/T/v7+/fz7//// + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/fz7////y6yKhz4Aj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUAAqnU9/Pz7 + /v38/v39/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/v7+/fz7////wZtyhz8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiEAAsoJP/////f38/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////f38/v7+8enhllYSjUcBj0oBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgCj0sJ5dbG//7+/Pz7/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////f38/v79 + +PTwnGAfi0QAj0sAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkoCi0QA28St/////Pz7/v7+/v7+//////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/f38 + ////uI1diD8AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBhz8AvpZq/////fz7/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/fz7////2sSsi0UAj0oB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0kAj0sCikMAnmQl9/Lt/f38/f39/////v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/fz7////4tC+jUcCjkkBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0oBi0QAmVsZ9O3m/v79/f38/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/f38////sYFMiD8Aj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + kEwChz4AxaJ8/////fz7/v7+//////////////////////////////////////////////////////// + ///////////////////////////////////+/f39/f39+/n3pGwwikEAj0sBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sCiUAA + 07mb/////Pz7/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////fz7/v7+7OHUkU0HjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjUcBk1AO6+DU + /v7+/Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////v7+/v///f38////za+OiD8Aj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAq3c+/fz7/fz8/f79//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/fz8////xqR/iD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz4AsIBM/v79/fz7/v7+//// + //////////////////////////////////////////////////////////////////////////////7/ + /fz8/v7+8erillYSjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBjkkF5tfH/////fz8/////v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////f39/f39+PXwn2Qli0MAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA2cKp/////fz8/v7///////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz8////uI1fiD8A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0wDhz4AvpVq/////Pz7/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz8//// + 2sWtikEAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oBi0MAnWAg9vDq/f38/f38/v7+//////////////////////////// + /////////////////////////////////////////////fz7////4tC9jUcAjkkBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jEQAm10b9O/p/v7+/f38//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v39/v7+soJPiUAAkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sDhz8Aw552/////fz7/v7+//7+//////////////////////////////////////// + /////////////////////v7+/f39/f38/Pr4pW8yikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUAA07ib/////fz7 + /v7//v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////f38/v7+7OHWklAMjUcBj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jUgAklAK6dzO/////f38/v////////////////////////////////////////////////////////// + /v7+/////fz7////za+OiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCiEAAqXY9+/n3/fz7/v39///+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////fz8////yamFiD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0wCiEAArXpD/Pv6 + /fz6/v39/v7+/////////////////////////////////////////////////////////f39/v7+8eng + lVMPjEYAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkBkEwF5tjJ/////f38/v///v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/f39/v39+fXyomkrikMAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sDikMC17+l/////fz7/////v7+ + /////////////////////////////////////////////v7+/v7+/f38////uI1diEAAkEsDjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEwBiD8Au5Jl/////fz8/v7+//7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////fz8////3ciyi0QAjkoCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBi0QAnmIi9vLt/v7+/v7+//////////////////// + /////////////////////////v7+/////fz8////4tC9jkgEjkkBj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBmFoX8uvj + /v39/fz8/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/fz8//// + tYdViD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0wDhz4AwZtx/////fz7/v7+/v7+//////////////////////////// + /////////////v7+/v39/Pr4pG0vikMAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiEAAz7KT/////fz7/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////fz7/v7+7uTalVQQjEYBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oBjUgCkU4N59jI/////fz8/////v7+/////////////////////////////v7+/v7+/fz8 + ////za6NiUAAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUEApm8z/Pv5/v39/f39//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////yaiDhz4Aj0sCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sB + iUAAqnY9/fz8/f38/v7+/////////////////////////////v7+/////f38/v398enhllcVi0UBj0oB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkgBjkkD5NTD/////fz8/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////f39/v39+/j2oWgqikIAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUIA07mb//// + /fz7/v7+/////////////////////////////v7+/f38////t4tahz8AkEsBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiD8A + upFj/////fz8/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/fz7////4M67jEYDjkkCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBi0QBm18g8+3l/v39/f38/v7+/v7+ + /////////////v7+/v7+/Pz7////5NTEjkkEjUkCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjEUAllcT8+vk/v39/f38//// + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/fz8////uIxciD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz0Avpdr/////fz7//////////////////////// + /f39/fz8+/n3p3E4iUEAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBiUAA0LSV/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////fz8/v7+8Ojf + llYSjEcBj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkgBkEwI5dfG/////fz7/v7+/////////////v7+/fz7////0LSWiEAA + kEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBikIAp3A1/Pr5/v39/v39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/fz7////za2Mhz8AkEsCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0sBiEEArHlC+/r4/fz8/v39/v7+/v7+/v7+/f38/v398+zkmVoZi0UBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkBjUcA49LA/////f38/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v38/f39+/n3pG0yikEAj0sCjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iD8A0ria/////fz7//////7+/v7+/fz7////u5Jlhz0Aj0wDjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8Au5Jk/////f38 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/////f38////38y3jUcAjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEUBmlsb8eng/v79 + /f38/////f38////5NTDjkkEjkkBjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBl1gV8uvk/v79/f38//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/fz8////t4xchz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wCiD4Au5Jm/////fz7/f39/fz8+/n3 + qXQ6iUIAj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8A0LOU/////fz8/////v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7/v7+8engllYWjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkgD5NTD/////Pr5////0bSXiEAAj0sDjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0kAj0sCikIAp3E3/Pr4/v39/v39/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////fz8////0baX + iUAAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAj0sBiUAApnE2+fbz/f388uvjl1cTi0UAj0oAj0kAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkgE5NTD + /////fz8/v////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v3+/v39/Pv5p3I4iUEAkEsBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkoAj0sCiUAAz7GT////upFjiD8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8Au5Fj/////fz8/v7///7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////fz7////4tG/jUcDjkkCjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAi0MA + nWEh1r2ikE0KjkgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEYBl1gX8urj/v7+/f38///+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v/+/Pz7////u5FkiD8AkEwBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAkU4FjUcAj0oA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sCiEAA0bWW/////fz7/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////f38/v7+8+zlmFkZjEYBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgAj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikIA + qHI4/Pv5/v39/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz6////0LOTiD8AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kCjUcF49G//////f38//// + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v39+/r3qnY+ + iUEAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sChz4Au5Nm/v///fz8/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////f38////5tfIjkkIjkkCj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0oAjEYAl1cU8+zl/v7+/v39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/fz7////v5huhz4Aj0sCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + kEsChz8Az7KS/////fz7/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v79/v7+9O7pmlwZi0UAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsCikEApnA3+vf0/fz7 + /v39/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////fz7////07ibiD8AkEsDj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkoBjEUA38y3/////fz7//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v39 + /fz7+/n3q3hBiUEAkEsCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0wChz4AuY1f/////f38/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////fz8////59jIj0oD + jkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oBjEYCl1YV7+Xb/v39/fz7/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/f37////vpdthz0Aj0wCj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBhz4Ay6uJ + /////fz8//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/fz8/v399O/om18hi0QBj0oBj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApW40+vf0/v39/v39/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////f38////1r2iiUAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkCjEYE4M24/////fz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/v79/v38/v39rnxIiEAAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAkEwChz8At4tZ/v7+/fz7/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/fz7 + /v7+6NrMkU0LjkgCjkoBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYB + llYW7+Xb/v7+/f38/////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////7//fz7////wJpwhz0A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiD8Aza6M/////fz7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////f39/v799vLtnWIki0QAj0sBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBiUEApG0x+vf0/f38/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7////1r6ii0MAj0oCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkoAj0kCjEYF38y3/////fz7/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/f38/fz8rXtEiUAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0wChz8AuIxc/v7+/fz7/v39/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////fz8////697Skk8MjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkoAjUYAllYR8Ofe/v/+ + /v39/v////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/fv6 + ////xKF6iD4AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wCiD8Ay6uJ/////v38//////7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v79/v7++fXyn2Qli0MA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0kAj0sCiUEApW8z+fby/fz7/f39/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////fz8////2cKqikQAjkoCj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkoAjkkBjEYA4M24/////fz8/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7/Pv6sH9LiD8AkEsCj0kAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz4At4pa + /////f38//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38////7OLWkk4KjUgBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEUBl1cV7uXb/v39/Pz8/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////fz8////xaJ8iD8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAAzK2L/////Pz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v39/fz7 + 9/LtomgsikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiUIApGww/Pn3/f38/f39//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////fz7////3Mewi0QAj0oB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkB + jUcE3sq2/////Pz7/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/f38////tolXiD8Aj0wBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8AuIxb/////fz8/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/fz7/v7+7eLWlVMSjUcCj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUYBllYT8Ojf/v7+/f39/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////fz8////yKaBhz4AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBhz8AyaiF/////fz7/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v39/v39+PTxomktikIAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oBikMAomgq+fXy/v39/f39//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/fz7//// + 3Mixi0MBjkoCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0MA3ciy//// + /fz8/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/fz7/v79tIdVhz4AkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBhz8AtIdV/////f37/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////f38////7+belVUUjEYBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkoAjUYBlFMO7uPZ/v7+/fz8//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/fz7////y6yJiD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEwBhz4AyKaD/////fz7/v///v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v38+ff0pW4yikEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikIAoWgq + +vf1/f38/f39//7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////fz7////4M24jEUFj0kCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkCjEYB3ciy/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v39/fz7/v39 + tolZhz4AkU4FkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwD + kEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwD + kEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwCkU0EiEAAtIVS/////f39/v7+///+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v///v39////8OfdlVQQhDoAiD8A + iD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4A + iD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4A + iD4AiD4AiD4AiD8AhToAkU4K7+Xc/v7+/f38/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////7+/////v7+////38y4y6yNzrGQzrCQzrCQzrCQzrCQ + zrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQ + zrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrGS + yqqM38u2/////v79/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/v7+/v79//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v79/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8 + /fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8 + /fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/f38/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxWait.Designer.cs b/LFP_Manager/Forms/fmxWait.Designer.cs new file mode 100644 index 0000000..56ddeb2 --- /dev/null +++ b/LFP_Manager/Forms/fmxWait.Designer.cs @@ -0,0 +1,94 @@ +namespace LFP_Manager.Forms +{ + partial class fmxWait + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.progressPanel1 = new DevExpress.XtraWaitForm.ProgressPanel(); + this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.tableLayoutPanel1.SuspendLayout(); + this.SuspendLayout(); + // + // progressPanel1 + // + this.progressPanel1.Appearance.BackColor = System.Drawing.Color.Transparent; + this.progressPanel1.Appearance.Options.UseBackColor = true; + this.progressPanel1.AppearanceCaption.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F); + this.progressPanel1.AppearanceCaption.Options.UseFont = true; + this.progressPanel1.AppearanceDescription.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F); + this.progressPanel1.AppearanceDescription.Options.UseFont = true; + this.progressPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.progressPanel1.ImageHorzOffset = 20; + this.progressPanel1.Location = new System.Drawing.Point(0, 16); + this.progressPanel1.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); + this.progressPanel1.Name = "progressPanel1"; + this.progressPanel1.Size = new System.Drawing.Size(287, 35); + this.progressPanel1.TabIndex = 0; + this.progressPanel1.Text = "progressPanel1"; + // + // tableLayoutPanel1 + // + this.tableLayoutPanel1.AutoSize = true; + this.tableLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.tableLayoutPanel1.BackColor = System.Drawing.Color.Transparent; + this.tableLayoutPanel1.ColumnCount = 1; + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel1.Controls.Add(this.progressPanel1, 0, 0); + this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0); + this.tableLayoutPanel1.Name = "tableLayoutPanel1"; + this.tableLayoutPanel1.Padding = new System.Windows.Forms.Padding(0, 13, 0, 13); + this.tableLayoutPanel1.RowCount = 1; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel1.Size = new System.Drawing.Size(287, 67); + this.tableLayoutPanel1.TabIndex = 1; + // + // fmxWait + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.AutoSize = true; + this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.ClientSize = new System.Drawing.Size(287, 67); + this.Controls.Add(this.tableLayoutPanel1); + this.DoubleBuffered = true; + this.Name = "fmxWait"; + this.ShowOnTopMode = DevExpress.XtraWaitForm.ShowFormOnTopMode.AboveAll; + this.StartPosition = System.Windows.Forms.FormStartPosition.Manual; + this.Text = "Form1"; + this.tableLayoutPanel1.ResumeLayout(false); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private DevExpress.XtraWaitForm.ProgressPanel progressPanel1; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + } +} diff --git a/LFP_Manager/Forms/fmxWait.cs b/LFP_Manager/Forms/fmxWait.cs new file mode 100644 index 0000000..d7060f6 --- /dev/null +++ b/LFP_Manager/Forms/fmxWait.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; +using DevExpress.XtraWaitForm; + +namespace LFP_Manager.Forms +{ + public partial class fmxWait : WaitForm + { + public fmxWait() + { + InitializeComponent(); + this.progressPanel1.AutoHeight = true; + } + + #region Overrides + + public override void SetCaption(string caption) + { + base.SetCaption(caption); + this.progressPanel1.Caption = caption; + } + public override void SetDescription(string description) + { + base.SetDescription(description); + this.progressPanel1.Description = description; + } + public override void ProcessCommand(Enum cmd, object arg) + { + base.ProcessCommand(cmd, arg); + } + + #endregion + + public enum WaitFormCommand + { + } + } +} \ No newline at end of file diff --git a/LFP_Manager/Forms/fmxWait.resx b/LFP_Manager/Forms/fmxWait.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/LFP_Manager/Forms/fmxWait.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/LFP_Manager/Function/CsCryptoHelper.cs b/LFP_Manager/Function/CsCryptoHelper.cs new file mode 100644 index 0000000..65b5cbb --- /dev/null +++ b/LFP_Manager/Function/CsCryptoHelper.cs @@ -0,0 +1,54 @@ +using System; +using System.IO; +using System.Security.Cryptography; +using System.Text; + +namespace LFP_Manager.Function +{ + class CsCryptoHelper + { + // 고정 키 및 IV (보안상 실제 사용 시 안전하게 관리 필요) + private static readonly string key = "1234567890123456"; // 16글자 = 128bit + private static readonly string iv = "6543210987654321"; // 16글자 = 128bit + + public static string Encrypt(string plainText) + { + using (Aes aesAlg = Aes.Create()) + { + aesAlg.Key = Encoding.UTF8.GetBytes(key); + aesAlg.IV = Encoding.UTF8.GetBytes(iv); + + ICryptoTransform encryptor = aesAlg.CreateEncryptor(); + + using (MemoryStream msEncrypt = new MemoryStream()) + using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write)) + using (StreamWriter swEncrypt = new StreamWriter(csEncrypt)) + { + swEncrypt.Write(plainText); + swEncrypt.Close(); + return Convert.ToBase64String(msEncrypt.ToArray()); + } + } + } + + public static string Decrypt(string cipherText) + { + using (Aes aesAlg = Aes.Create()) + { + aesAlg.Key = Encoding.UTF8.GetBytes(key); + aesAlg.IV = Encoding.UTF8.GetBytes(iv); + + ICryptoTransform decryptor = aesAlg.CreateDecryptor(); + + byte[] buffer = Convert.FromBase64String(cipherText); + + using (MemoryStream msDecrypt = new MemoryStream(buffer)) + using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read)) + using (StreamReader srDecrypt = new StreamReader(csDecrypt)) + { + return srDecrypt.ReadToEnd(); + } + } + } + } +} diff --git a/LFP_Manager/Function/CsModbusFunction.cs b/LFP_Manager/Function/CsModbusFunction.cs new file mode 100644 index 0000000..59a1e33 --- /dev/null +++ b/LFP_Manager/Function/CsModbusFunction.cs @@ -0,0 +1,62 @@ +using LFP_Manager.Utils; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace LFP_Manager.Function +{ + internal class CsModbusFunction + { + static public byte[] MakeWriteRegisterData(ushort devId, ushort writeAddr, short[] writeData) + { + if (writeData == null || writeData.Length == 0) + return Array.Empty(); + + // 부호 확장 없이 캐스팅 (2’s complement 그대로 0..65535 범위로 들어갑니다) + Span regs = writeData.Length <= 16 + ? stackalloc ushort[writeData.Length] + : new ushort[writeData.Length]; // 길면 힙 사용 + + for (int k = 0; k < writeData.Length; k++) + regs[k] = unchecked((ushort)writeData[k]); + + return MakeWriteRegisterData(devId, writeAddr, regs); + } + static private byte[] MakeWriteRegisterData(ushort devId, ushort writeAddr, ReadOnlySpan writeData) + { + if (writeData.Length <= 0) + return Array.Empty(); + + const byte Func = 0x10; // PRESET_MULTI_REG + int regCount = writeData.Length; + int payloadLen = 7 + regCount * 2; // CRC 제외 길이 + byte[] frame = new byte[payloadLen + 2]; + + int i = 0; + frame[i++] = (byte)devId; // Device ID + frame[i++] = Func; // Function Code (0x10) + frame[i++] = (byte)(writeAddr >> 8); // Addr Hi + frame[i++] = (byte)writeAddr; // Addr Lo + frame[i++] = (byte)(regCount >> 8); // Count Hi + frame[i++] = (byte)regCount; // Count Lo + frame[i++] = (byte)(regCount * 2); // ByteCount + + // 데이터: 각 레지스터를 Hi → Lo 바이트로 + for (int j = 0; j < regCount; j++) + { + ushort v = writeData[j]; + frame[i++] = (byte)(v >> 8); + frame[i++] = (byte)v; + } + + // CRC (CRCL → CRCH) 부착 + if (!CsCRC16.TryAppendCrcLowHigh(frame, payloadLen, 0)) + return Array.Empty(); + + return frame; + } + + } +} diff --git a/LFP_Manager/Function/CsSerialCommFunctionDelta.cs b/LFP_Manager/Function/CsSerialCommFunctionDelta.cs new file mode 100644 index 0000000..0f2fbae --- /dev/null +++ b/LFP_Manager/Function/CsSerialCommFunctionDelta.cs @@ -0,0 +1,1007 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +using LFP_Manager.DataStructure; +using LFP_Manager.Utils; +using LFP_Manager.Controls; +using System.Web.Services.Description; +using DevExpress.XtraTreeList; +using SnmpSharpNet; +using DevExpress.XtraGrid.Views.BandedGrid.Handler; +using static DevExpress.Xpo.Helpers.AssociatedCollectionCriteriaHelper; + +namespace LFP_Manager.Function +{ + class CsSerialCommFunctionDelta + { + public const byte READ_COIL_STATUS = 0x01; + public const byte READ_HOLDING_REG = 0x03; + public const byte READ_INPUT_REG = 0x04; //Byul 구문 추가 필요 + public const byte FORCE_SINGLE_COIL = 0x05; + public const byte PRESET_SINGLE_REG = 0x06; + public const byte PRESET_MULTI_REG = 0x10; + public const byte WRITE_COIL_REG = 0x0F; + public const byte ERROR_REG = 0x90; + + public const byte READ_WRITE_REG = 0x17; + public const byte SPECIAL_REG_02 = 0x19; + public const byte READ_DEV_ID = 0x2B; + + public const byte FW_FLASH_ERASE_CMD = 0x43; + public const byte FW_FLASH_WRITE_CMD = 0x31; + + public const byte NO_CMD = 0xFF; + + public static byte[] GetCRC(byte[] pby, int nSize) + { + ushort uIndex, i; + ushort crc; + byte uchCRCHi = 0xff; + byte uchCRCLo = 0xff; + byte[] result = new byte[2]; + + for (i = 0; i < nSize; i++) + { + uIndex = (ushort)((int)uchCRCLo ^ (int)pby[i]); + uchCRCLo = (byte)(uchCRCHi ^ csConstData.CRC_Data.auchCRCHi[uIndex]); + uchCRCHi = csConstData.CRC_Data.auchCRCLo[uIndex]; + } + crc = (ushort)((uchCRCHi << 8) | uchCRCLo); + + result[0] = (byte)(crc >> 8); + result[1] = (byte)(crc >> 0); + + return result; + } + + static public byte[] MakeReadRegisterData(ushort DevID, ushort cmd, ushort ReadAddr, ushort Size) + { + byte[] result = new byte[8]; + byte[] crc; + + result[0] = (byte)DevID; // Device ID + result[1] = (byte)cmd; // Command + result[2] = (byte)(ReadAddr >> 8); // Register Address MSB + result[3] = (byte)(ReadAddr >> 0); // Register Address LSB + result[4] = (byte)(Size >> 8); // Count of Register MSB + result[5] = (byte)(Size >> 0); // Count of Register LSB + + crc = GetCRC(result, 6); + + result[6] = crc[1]; // CRCH + result[7] = crc[0]; // CRCL + + return result; + } + + static public byte[] MakeWriteCoilData(ushort DevID, ushort WriteAddr, short WriteData) + { + byte[] result = new byte[7 + (1 * 1) + 2]; + byte[] crc; + ushort i = 0; + + result[i++] = (byte)DevID; // Device ID + result[i++] = (byte)WRITE_COIL_REG; // Command + result[i++] = (byte)(WriteAddr >> 8); // Register Address MSB + result[i++] = (byte)(WriteAddr >> 0); // Register Address LSB + result[i++] = (byte)(1 >> 8); // Count of Register MSB + result[i++] = (byte)(1 >> 0); // Count of Register LSB + result[i++] = (byte)(1 * 1); // Byte Count - [2 * (Num of register)] + + result[i++] = (byte)(WriteData >> 0); + + crc = GetCRC(result, i); + + result[i++] = crc[1]; // CRCH + result[i++] = crc[0]; // CRCL + + return result; + } + + static public byte[] MakeWriteRegisterData(ushort devId, ushort writeAddr, short[] writeData) + { + if (writeData == null || writeData.Length == 0) + return Array.Empty(); + + // 부호 확장 없이 캐스팅 (2’s complement 그대로 0..65535 범위로 들어갑니다) + Span regs = writeData.Length <= 16 + ? stackalloc ushort[writeData.Length] + : new ushort[writeData.Length]; // 길면 힙 사용 + + for (int k = 0; k < writeData.Length; k++) + regs[k] = unchecked((ushort)writeData[k]); + + return MakeWriteRegisterData(devId, writeAddr, regs); + } + + static private byte[] MakeWriteRegisterData(ushort devId, ushort writeAddr, ReadOnlySpan writeData) + { + if (writeData.Length <= 0) + return Array.Empty(); + + const byte Func = 0x10; // PRESET_MULTI_REG + int regCount = writeData.Length; + int payloadLen = 7 + regCount * 2; // CRC 제외 길이 + byte[] frame = new byte[payloadLen + 2]; + + int i = 0; + frame[i++] = (byte)devId; // Device ID + frame[i++] = Func; // Function Code (0x10) + frame[i++] = (byte)(writeAddr >> 8); // Addr Hi + frame[i++] = (byte)writeAddr; // Addr Lo + frame[i++] = (byte)(regCount >> 8); // Count Hi + frame[i++] = (byte)regCount; // Count Lo + frame[i++] = (byte)(regCount * 2); // ByteCount + + // 데이터: 각 레지스터를 Hi → Lo 바이트로 + for (int j = 0; j < regCount; j++) + { + ushort v = writeData[j]; + frame[i++] = (byte)(v >> 8); + frame[i++] = (byte)v; + } + + // CRC (CRCL → CRCH) 부착 + if (!CsCRC16.TryAppendCrcLowHigh(frame, payloadLen, 0)) + return Array.Empty(); + + return frame; + } + + static public byte[] MakeWriteRegisterData(ushort DevID, ushort WriteAddr, short WriteData) + { + byte[] result = new byte[9 + (1 * 2)]; + byte[] crc; + ushort i = 0; + + result[i++] = (byte)DevID; // Device ID + result[i++] = (byte)PRESET_MULTI_REG; // Command + result[i++] = (byte)(WriteAddr >> 8); // Register Address MSB + result[i++] = (byte)(WriteAddr >> 0); // Register Address LSB + result[i++] = (byte)(1 >> 8); // Count of Register MSB + result[i++] = (byte)(1 >> 0); // Count of Register LSB + result[i++] = (byte)(1 * 2); // Byte Count - [2 * (Num of register)] + + result[i++] = (byte)(WriteData >> 8); + result[i++] = (byte)(WriteData >> 0); + + crc = GetCRC(result, i); + + result[i++] = crc[1]; // CRCH + result[i++] = crc[0]; // CRCL + + return result; + } + + static public byte[] MakeReadDevIdRegReqData(ushort DevID, ushort cmd, ushort ReadAddr) + { + byte[] result = new byte[7]; + byte[] crc; + + result[0] = (byte)DevID; // Device ID + result[1] = (byte)cmd; // Command + result[2] = (byte)0x0E; // MEI Type + result[3] = (byte)0x02; // Read Dev Id code + result[4] = (byte)ReadAddr; // Object Id + + crc = GetCRC(result, 5); + + result[5] = crc[1]; // CRCH + result[6] = crc[0]; // CRCL + + return result; + } + + static short GetRegister(ushort reg_addr, ref DeviceParamData aParam) + { + short result = 0; + + switch (reg_addr) + { + //case 19: result = (short)(0 >> 16); break; // 0021 : UTC TimeStamp MSB + //case 20: result = (short)(58 >> 0); break; // 0022 : UTC TimeStamp LSB + //case 21: result = (short)0x1000; break; // 0023 : Cell Balancing Flag + //case 22: result = (short)0x0000; break; // 0024 : Cell Balancing Voltage + //case 23: result = (short)15; break; // 0024 : Cell Balancing Time + + case 0x4002: result = (short)aParam.CellUnderVoltageWarning; break; // 0061 : Low cell voltage warning data + //case 33: result = (short)param.sf1.voltage.CUV_Threshold; break; // 0062 : Low cell voltage protection data + //case 34: result = (short)param.sf1.voltage.CUV_Recovery; break; // 0063 : Low cell voltage recovery data + //case 35: result = (short)param.sf1.voltage.SUV_Warning; break; // 0064 : Low voltage warning data + //case 36: result = (short)param.sf1.voltage.SUV_Threshold; break; // 0065 : Low voltage protection data + //case 37: result = (short)param.sf1.voltage.SUV_Recovery; break; // 0066 : Low voltage recovery data + //case 38: result = (short)param.sf1.voltage.COV_Warning; break; // 0067 : Over cell voltage warning data + //case 39: result = (short)param.sf1.voltage.COV_Threshold; break; // 0068 : Over cell voltage protection data + //case 40: result = (short)param.sf1.voltage.COV_Recovery; break; // 0069 : Over cell voltage recovery data + //case 41: result = (short)param.sf1.voltage.SOV_Warning; break; // 0070 : Over voltage warning data + //case 42: result = (short)param.sf1.voltage.SOV_Threshold; break; // 0071 : Over voltage protection data + //case 43: result = (short)param.sf1.voltage.SOV_Recovery; break; // 0072 : Over voltage recovery data + + //case 44: result = (short)param.sf1.temperature.OT_Chg_Warning; break; // 0044 : Charge over temperature warning data + //case 45: result = (short)param.sf1.temperature.OT_Chg_Threshold; break; // 0045 : Charge over temperature protection data + //case 46: result = (short)param.sf1.temperature.OT_Chg_Recovery; break; // 0046 : Charge over temperature recovery data + //case 47: result = (short)param.sf1.temperature.OT_Chg_Time; break; // 0047 : Charge over temperature time + + //case 48: result = (short)param.sf1.temperature.OT_Dsg_Warning; break; // 0048 : Discharge over temperature warning data + //case 49: result = (short)param.sf1.temperature.OT_Dsg_Threshold; break; // 0049 : Discharge over temperature protection data + //case 50: result = (short)param.sf1.temperature.OT_Dsg_Recovery; break; // 0050 : Discharge over temperature recovery data + //case 51: result = (short)param.sf1.temperature.OT_Dsg_Time; break; // 0051 : Discharge over temperature time + } + + return result; + } + + static byte[] ModBusGetRegWordToBytes(ushort addr, ref DeviceParamData aParam) + { + short data; + byte[] result = new byte[2]; + + data = GetRegister(addr, ref aParam); + + result[0] = (byte)(data >> 8); + result[1] = (byte)(data >> 0); + + return result; + } + + static public byte[] MakeWriteRegisterData(ushort DevID, ushort WriteAddr, ushort reg_len, ref DeviceParamData aParam) + { + int tlen = (reg_len * 2) + 7 + 2; + byte[] result = new byte[tlen]; + byte[] tmp; + byte[] crc; + + result[0] = (byte)DevID; // Device ID + result[1] = (byte)PRESET_MULTI_REG; // Command + result[2] = (byte)(WriteAddr >> 8); // Register Address MSB + result[3] = (byte)(WriteAddr >> 0); // Register Address LSB + result[4] = (byte)(reg_len >> 8); // Count of Register MSB + result[5] = (byte)(reg_len >> 0); // Count of Register LSB + result[6] = (byte)(reg_len * 2); ; // Current Value MSB + + for (int i = 0; i < reg_len; i++) + { + tmp = ModBusGetRegWordToBytes((ushort)(WriteAddr + i), ref aParam); + result[7 + (i * 2) + 0] = tmp[0]; + result[7 + (i * 2) + 1] = tmp[1]; + } + crc = GetCRC(result, 8); + + result[tlen - 2] = crc[0]; // CRCH + result[tlen - 1] = crc[1]; // CRCL + + return result; + } + + static public byte[] MakeReadWriteRegisterData(ushort DevID, ushort WriteAddr, short WriteData) + { + byte[] result = new byte[15]; + byte[] crc; + ushort i = 0; + + result[i++] = (byte)DevID; // Device ID + result[i++] = (byte)READ_WRITE_REG; // Command + result[i++] = (byte)(WriteAddr >> 8); // Read Register Address MSB + result[i++] = (byte)(WriteAddr >> 0); // Read Register Address LSB + result[i++] = (byte)(0 >> 8); // Read Count of Register MSB + result[i++] = (byte)(0 >> 0); // Read Count of Register LSB + result[i++] = (byte)(WriteAddr >> 8); // Write Register Address MSB + result[i++] = (byte)(WriteAddr >> 0); // Write Register Address LSB + result[i++] = (byte)(1 >> 8); // Write Count of Register MSB + result[i++] = (byte)(1 >> 0); // Write Count of Register LSB + result[i++] = (byte)(1 * 2); // Byte Count - [2 * (Num of register)] + + result[i++] = (byte)(WriteData >> 8); + result[i++] = (byte)(WriteData >> 0); + + crc = GetCRC(result, i); + + result[i++] = crc[0]; // CRCH + result[i++] = crc[1]; // CRCL + + return result; + } + + public static byte[] MakeCheckSum(byte[] sData, int offset, int len, bool flag) + { + byte[] result = new byte[2]; + int checksum = 0; + + for (int i = 0; i < len; i++) + { + checksum += sData[i + offset]; + } + + checksum = ~checksum + 1; + + result[0] = (byte)(checksum >> 8); + result[1] = (byte)checksum; + + return result; + } + + private static byte[] MakeTxPacket(byte[] sData, int len) + { + string str = ""; + byte[] result; + char[] chrArray; + int checksum = 0; + string checksumStr = ""; + char[] checksumChr; + + str = "~"; + + for (int i = 0; i < len; i++) + { + str += sData[i].ToString("X2"); + } + + str += "\r"; + + chrArray = str.ToCharArray(); + + for (int i = 0; i < (chrArray.Length - 6); i++) + { + checksum += chrArray[i + 1]; + } + + checksum = ~checksum + 1; + + checksumStr = String.Format("{0:X2}{1:X2}", (byte)(checksum >> 8), (byte)checksum); + checksumChr = checksumStr.ToCharArray(); + + for (int i = 0; i < 4; i++) + { + chrArray[chrArray.Length - 5 + i] = checksumChr[i]; + } + + result = new byte[chrArray.Length]; + + for (int i = 0; i < chrArray.Length; i++) + { + result[i] = (byte)chrArray[i]; + } + + return result; + } + + public static byte[] LengthLchk(int sLen) + { + byte[] result = new byte[2]; + int lchksum = 0; + + lchksum = (~(((sLen >> 8) & 0xF) + + ((sLen >> 4) & 0xF) + + ((sLen >> 0) & 0xF)) + 1) % 16; + lchksum = ((lchksum << 12) | sLen); + + result[0] = (byte)(lchksum >> 8); + result[1] = (byte)(lchksum >> 0); + + return result; + } + + public static byte[] MakeTxData(byte addr, byte cmd, int sLen) + { + int buffCh = 0; + byte[] sData; + byte[] lenId; + byte[] checksum; + + sData = new byte[((sLen > 0) ? 11 : 10)]; + + sData[buffCh] = 0x7E; buffCh++; // SOI + sData[buffCh] = 0x25; buffCh++; // VER + sData[buffCh] = addr; buffCh++; // ADDR + sData[buffCh] = 0x46; buffCh++; // CID1 + sData[buffCh] = cmd; buffCh++; // CID2 (CMD) + + lenId = LengthLchk(sLen); // LENID + sData[buffCh] = lenId[0]; buffCh++; // LENID MSB + sData[buffCh] = lenId[1]; buffCh++; // LENID LSB + + if (sLen > 0) + { + sData[buffCh] = (byte)(sLen / 2); buffCh++; // INFO + } + + checksum = csSerialCommFunction.MakeCheckSum(sData, 1, sData.Length - 4, false); + + sData[buffCh] = checksum[1]; buffCh++; + sData[buffCh] = checksum[0]; buffCh++; + + sData[buffCh] = 0x0D; buffCh++; // EOI + + return MakeTxPacket(sData, sData.Length); + } + + public static int TbPacketCheck(byte[] rdata, int rlen) + { + int result = 0; + byte[] cdata; + byte[] checksum; + byte[] checksum1; + + checksum = MakeCheckSum(rdata, 1, rlen - 6, false); + + checksum1 = new byte[2]; + checksum1[0] = csUtils.StrByte2toByte(rdata[rlen - 4], rdata[rlen - 5]); + checksum1[1] = csUtils.StrByte2toByte(rdata[rlen - 2], rdata[rlen - 3]); + + + if ((checksum[0] == checksum1[0]) && (checksum[1] == checksum1[1])) + { + cdata = csUtils.StrToByteArray(rdata, 0, rlen); + + result = 1; + } + + return result; + } + + static public int ModbusPacketFromSlaveCheck(byte[] rdata, ushort rlen) + { + int result = 0; + byte[] cdata, crc; + ushort clen, bytecount; + + if (rlen > 2) + { + cdata = rdata; + + switch (cdata[1]) + { + case READ_DEV_ID: + if (rlen < 10) break; + if (rdata[7] == 0) break; + + int tmp = 0; + int cPos = 7; + int alen = 0; + for (int i = 0; i < cdata[7]; i++) + { + alen = cdata[cPos + 2]; + cPos += alen + 2; + if (rlen < (cPos + 3)) + { + tmp = 1; + break; + } + } + if (tmp == 1) break; + + crc = GetCRC(cdata, (ushort)(rlen - 2)); + if ((crc[1] == cdata[rlen - 2]) && (crc[0] == cdata[rlen - 1])) result = 1; + else result = -1; + break; + case READ_COIL_STATUS: + case READ_HOLDING_REG: + case READ_INPUT_REG: + case READ_WRITE_REG: + bytecount = cdata[2]; + clen = (ushort)(bytecount + 5); // header 3, tail 2 + if (rlen >= clen) + { + crc = GetCRC(cdata, (ushort)(rlen - 2)); + if ((crc[1] == cdata[rlen - 2]) && (crc[0] == cdata[rlen - 1])) result = 1; + else result = -1; + } + break; + case PRESET_MULTI_REG: + case FORCE_SINGLE_COIL: + case PRESET_SINGLE_REG: + clen = 8; + if (rlen >= clen) + { + crc = GetCRC(cdata, (ushort)(rlen - 2)); + if ((crc[0] == cdata[rlen - 1]) && (crc[1] == cdata[rlen - 2])) result = 1; + else result = -1; + } + break; + case ERROR_REG: + clen = 6; + if (rlen >= clen) + { + crc = GetCRC(cdata, (ushort)(rlen - 2)); + if ((crc[0] == cdata[rlen - 1]) && (crc[1] == cdata[rlen - 2])) result = 1; + else result = -1; + } + break; + case FW_FLASH_ERASE_CMD: + clen = 5; + if (rlen >= clen) + { + crc = GetCRC(cdata, (ushort)(rlen - 2)); + if ((crc[0] == cdata[rlen - 1]) && (crc[1] == cdata[rlen - 2])) result = 2; + else result = -1; + } + break; + case FW_FLASH_WRITE_CMD: + clen = 5; + if (rlen >= clen) + { + crc = GetCRC(cdata, (ushort)(rlen - 2)); + if ((crc[0] == cdata[rlen - 1]) && (crc[1] == cdata[rlen - 2])) result = 2; + else result = -1; + } + break; + default: + result = -1; + break; + } + } + return result; + } + + public static short[] SerialRxProcess(byte[] rData, ushort rRegAddr, ushort rLen, ref CsDeviceData.DeviceModuleData aModuleData) + { + short[] result = new short[2]; + + switch (rData[1]) + { + case READ_INPUT_REG: // 0x04 + ReadInputRegisterProcess(rData, rRegAddr, rLen, ref aModuleData); + break; + case READ_WRITE_REG: // 0x17 + //ReadSP1RegisterProcess(rData, rRegAddr, rLen, ref rSystemData); + break; + case SPECIAL_REG_02: // 0x19 + //ReadInputRegisterProcess(rData, rRegAddr, rLen, ref rSystemData); + break; + case READ_DEV_ID: // 0x2B + ReadDevIdRegisterProcess(rData, rRegAddr, rLen, ref aModuleData); + break; + case PRESET_MULTI_REG: + // read_holding_reg_process(reverse16(rsp->start_addr, true), reverse16(rsp->qty_reg, true)); + //result[0] = 1; + //result[1] = 1; + break; + case ERROR_REG: + result[0] = 2; + result[1] = (short)((rData[0] << 8) | rData[1]); + break; + } + return result; + } + + private static void ReadCoilRegisterProcess(byte[] rData, ushort rRegAddr, ushort rLen, ref CsDeviceData.DeviceModuleData aModuleData) + { + int i, j; + short reg_count; + short reg_value; + i = 2; + reg_count = rData[i]; + + i++; + for (j = 0; j < reg_count; j++) + { + reg_value = (short)(rData[i + j]); + SetCoilRegister((short)(rRegAddr + j), reg_value, ref aModuleData); + i++; + } + } + + private static void ReadInputRegisterProcess(byte[] rData, ushort rRegAddr, ushort rLen, ref CsDeviceData.DeviceModuleData aModuleData) + { + int i, j; + short reg_count; + short reg_value; + i = 2; + reg_count = (short)(rData[i] / 2); i += 1; + + for (j = 0; j < reg_count; j++) + { + reg_value = (short)(rData[i] << 8 | rData[i + 1]); + SetInputRegister((short)(rRegAddr + j), reg_value, ref aModuleData); + i += 2; + } + } + private static void ReadDevIdRegisterProcess(byte[] rData, ushort rRegAddr, ushort rLen, ref CsDeviceData.DeviceModuleData aModuleData) + { + int cPos = 7; + int alen = 0; + int regCount = rData[7]; + int oID = 0; + + for (int i = 0; i < regCount; i++) + { + oID = rData[cPos + 1]; + alen = rData[cPos + 2]; + byte[] tmp = new byte[alen]; + for (int j = 0; j < alen; j++) { tmp[j] = rData[cPos + 3 + j]; } + + switch (oID) + { + case 0x00: aModuleData.Information.VendorName = Encoding.ASCII.GetString(tmp).Trim('\0'); break; + case 0x01: aModuleData.Information.ProductCode = Encoding.ASCII.GetString(tmp).Trim('\0'); break; + case 0x02: aModuleData.Information.MajorMinorRev = Encoding.ASCII.GetString(tmp).Trim('\0'); break; + case 0x05: aModuleData.Information.ModelName = Encoding.ASCII.GetString(tmp).Trim('\0'); break; + case 0x82: aModuleData.Information.HwSerialNumber = Encoding.ASCII.GetString(tmp).Trim('\0'); break; + case 0x83: aModuleData.Information.HwProductRev = Encoding.ASCII.GetString(tmp).Trim('\0'); break; + case 0x84: aModuleData.Information.ManufacturingDate = Encoding.ASCII.GetString(tmp).Trim('\0'); break; + case 0x86: aModuleData.Information.SwProductRev = Encoding.ASCII.GetString(tmp).Trim('\0'); break; + } + + cPos += alen + 2; + if (rLen < (cPos + 3)) + { + break; + } + } + } + private static void ReadSP2RegisterProcess(byte[] rData, ushort rRegAddr, ushort rLen, ref DeviceSystemData rSystemData) + { + int i, j; + short reg_count; + short reg_value; + i = 2; + reg_count = (short)(rData[i] / 2); i += 1; + + for (j = 0; j < reg_count; j++) + { + reg_value = (short)(rData[i] << 8 | rData[i + 1]); + SetSP2Register((short)(rRegAddr + j), reg_value, ref rSystemData); + i += 2; + } + } + private static void ReadSP1RegisterProcess(byte[] rData, ushort rRegAddr, ushort rLen, ref DeviceSystemData rSystemData) + { + int i, j; + short reg_count; + short reg_value; + i = 2; + reg_count = (short)(rData[i] / 2); i += 1; + + for (j = 0; j < reg_count; j++) + { + reg_value = (short)(rData[i] << 8 | rData[i + 1]); + SetSP1Register((short)(rRegAddr + j), reg_value, ref rSystemData); + i += 2; + } + } + + private static readonly int CURRENT_OFFSET = 10000; + private static readonly int TEMP_OFFSET = 400; + + private static short MakeWarningData_AMG(short reg_value) + { + byte[] reg_byte = new byte[2]; + ushort result = 0; + + reg_byte[1] = (byte)(reg_value >> 8); + reg_byte[0] = (byte)(reg_value >> 0); + + if (((reg_byte[0] >> 0) & 0x01) == 0x01) result |= (ushort)(1 << 4); // Cell Over Voltage + if (((reg_byte[0] >> 1) & 0x01) == 0x01) result |= (ushort)(1 << 5); // Cell Under Voltage + if (((reg_byte[0] >> 2) & 0x01) == 0x01) result |= (ushort)(1 << 2); // Pack Over Voltage + if (((reg_byte[0] >> 3) & 0x01) == 0x01) result |= (ushort)(1 << 3); // Pack Under Voltage + if (((reg_byte[0] >> 4) & 0x01) == 0x01) result |= (ushort)(1 << 6); // Charge Over Current + if (((reg_byte[0] >> 5) & 0x01) == 0x01) result |= (ushort)(1 << 7); // Discharge Over Current + if (((reg_byte[0] >> 6) & 0x01) == 0x01) result |= (ushort)(1 << 14); // ENV Over Temperature + if (((reg_byte[0] >> 7) & 0x01) == 0x01) result |= (ushort)(1 << 15); // ENV Under Temperature + + if (((reg_byte[1] >> 0) & 0x01) == 0x01) result |= (ushort)(1 << 0); // Chg Over Temperature + if (((reg_byte[1] >> 1) & 0x01) == 0x01) result |= (ushort)(1 << 1); // Chg Under Temperature + if (((reg_byte[1] >> 2) & 0x01) == 0x01) result |= (ushort)(1 << 0); // Dch Over Temperature + if (((reg_byte[1] >> 3) & 0x01) == 0x01) result |= (ushort)(1 << 1); // Dch Under Temperature + if (((reg_byte[1] >> 4) & 0x01) == 0x01) result |= (ushort)(1 << 11); // SOC Low Alarm + if (((reg_byte[1] >> 5) & 0x01) == 0x01) result |= (ushort)(1 << 9); // Diff Voltage Alarm + if (((reg_byte[1] >> 6) & 0x01) == 0x01) result |= (ushort)(1 << 13); // CB On/OFF (1: OFF, 0: ON) + if (((reg_byte[1] >> 7) & 0x01) == 0x01) result |= (ushort)(1 << 12); // reserved + + return (short)result; + } + + private static short MakeProtectData_AMG(short reg_value) + { + byte[] reg_byte = new byte[2]; + ushort result = 0; + + reg_byte[1] = (byte)(reg_value >> 8); + reg_byte[0] = (byte)(reg_value >> 0); + + if (((reg_byte[0] >> 0) & 0x01) == 0x01) result |= (ushort)(1 << 4); // Cell Over Voltage + if (((reg_byte[0] >> 1) & 0x01) == 0x01) result |= (ushort)(1 << 2); // Pack Over Voltage + if (((reg_byte[0] >> 2) & 0x01) == 0x01) result |= (ushort)(1 << 5); // Cell Under Voltage + if (((reg_byte[0] >> 3) & 0x01) == 0x01) result |= (ushort)(1 << 3); // Pack Under Voltage + if (((reg_byte[0] >> 4) & 0x01) == 0x01) result |= (ushort)(1 << 6); // Cha Over Current 1 + if (((reg_byte[0] >> 5) & 0x01) == 0x01) result |= (ushort)(1 << 6); // Cha Over Current 2 + if (((reg_byte[0] >> 6) & 0x01) == 0x01) result |= (ushort)(1 << 7); // Dch Over Current 1 + if (((reg_byte[0] >> 7) & 0x01) == 0x01) result |= (ushort)(1 << 7); // Dch Over Current 2 + + if (((reg_byte[1] >> 0) & 0x01) == 0x01) result |= (ushort)(1 << 8); // SC Protect / CB off + if (((reg_byte[1] >> 1) & 0x01) == 0x01) result |= (ushort)(1 << 0); // Chg Over Temperature + if (((reg_byte[1] >> 2) & 0x01) == 0x01) result |= (ushort)(1 << 1); // Chg Under Temperature + if (((reg_byte[1] >> 3) & 0x01) == 0x01) result |= (ushort)(1 << 0); // Dch Over Temperature + if (((reg_byte[1] >> 4) & 0x01) == 0x01) result |= (ushort)(1 << 1); // Dch Under Temperature + + return (short)result; + } + + private static void MakeAlarm(ref CsDeviceData.DeviceModuleData mData) + { + if (((mData.StatusData.faultstatus >> 14) & 0x0001) == 0x0001) + { + mData.StatusData.batteryStatus = 4; // Anti-theft Gyroscope + } + else if (((mData.StatusData.faultstatus >> 15) & 0x0001) == 0x0001) + { + mData.StatusData.batteryStatus = 5; // Anti-theft Comm. + } + else if (mData.StatusData.protect != 0x0000) + { + mData.StatusData.batteryStatus = 2; + } + else if (mData.StatusData.warning != 0x0000) + { + mData.StatusData.batteryStatus = 1; + } + else + { + mData.StatusData.batteryStatus = 0; + } + } + + private static void SetInputRegister(short reg_addr, short reg_value, ref CsDeviceData.DeviceModuleData aModuleData) + { + switch (reg_addr) + { + case 0x0FFF: + aModuleData.ValueData.voltage = (short)(reg_value / 10); + aModuleData.active = true; + break; // 48.00V = 4800 + case 0x1000: aModuleData.ValueData.current = (short)(reg_value - CURRENT_OFFSET); break; // 100.0A = 1000 -10000 = 0; + case 0x1001: aModuleData.ValueData.remainingCapacity = (short)(reg_value / 1); break; // 100.0Ah = 1000 + case 0x1002: aModuleData.ValueData.MosTemperature = (short)(reg_value - TEMP_OFFSET); break; // 10.0C = 100 + case 0x1003: aModuleData.ValueData.AmbTemperature = (short)(reg_value - TEMP_OFFSET); break; // 10.0C = 100 + + case 0x1004: aModuleData.StatusData.warning = (ushort)CsAlarmDefine.DevWarningToGui(reg_value); break; // Warning Status + case 0x1005: aModuleData.StatusData.protect = (ushort)CsAlarmDefine.DevProtectToGui(reg_value); break; // Protection Status + case 0x1006: // Fault Status + aModuleData.StatusData.faultstatus = (ushort)(reg_value / 1); + aModuleData.StatusData.status = (ushort)((reg_value >> 8) & 0x00FF); + MakeAlarm(ref aModuleData); + break; // Fault Status + + case 0x1007: aModuleData.ValueData.SOC = (short)(reg_value / 10); break; // 100.00% = 10000 + case 0x1008: aModuleData.ValueData.SOH = (short)(reg_value / 10); break; // 100.00% = 10000 + + case 0x1009: aModuleData.ValueData.fullChgCapacity_Ah = (ushort)(reg_value / 1); break; // 100.0Ah = 1000 + case 0x100A: aModuleData.ValueData.cycleCount = (ushort)(reg_value / 1); break; // 100 cycles = 100 + case 0x100B: aModuleData.ValueData.NumOfCells = (short)(reg_value / 1); break; // 15 cells = 15 + case 0x100C: + case 0x100D: + case 0x100E: + case 0x100F: + case 0x1010: + case 0x1011: + case 0x1012: + case 0x1013: + case 0x1014: + case 0x1015: + case 0x1016: + case 0x1017: + case 0x1018: + case 0x1019: + case 0x101A: + case 0x101B: // 3.256V = 3256 + int cNo = reg_addr - 0x100C; + if (cNo < 15) + { aModuleData.ValueData.CellVoltage[cNo] = (ushort)(reg_value / 1); } + MakeMaxAvgMinCellVoltage(ref aModuleData); + break; // 100.00% = 10000 + case 0x101C: aModuleData.ValueData.NumOfTemps = (short)(reg_value / 1); break; // 5 temps = 5 + case 0x101D: + case 0x101E: + case 0x101F: + case 0x1020: // 25.3C = 253 - 400 = -147 (Offset -400) + int tNo = reg_addr - 0x101D; + aModuleData.ValueData.CellTemperature[tNo] = (short)(reg_value - TEMP_OFFSET); + MakeMaxAvgMinTemperature(ref aModuleData); + break; // 100.00% = 10000 + case 0x1021: aModuleData.MaxValue.MaxChgCurrent = (short)(reg_value); break; // Max. Charge Current + case 0x1022: aModuleData.MaxValue.MaxChgTemperature = (short)(reg_value - TEMP_OFFSET); break; // Max. Charge Temperature + case 0x1023: aModuleData.MaxValue.MinChgTemperature = (short)(reg_value - TEMP_OFFSET); break; // Min. Charge Temperature + case 0x1024: aModuleData.MaxValue.FloatChgVolt = (short)(reg_value / 10); break; // Float Charge Current + case 0x1025: aModuleData.MaxValue.BoostChgVolt = (short)(reg_value / 10); break; // Boost Charge Current + + case 0x3000: aModuleData.CalibrationData.AntiTheftComm.TimeOut = (short)(reg_value / 1); break; + case 0x3002: aModuleData.CalibrationData.AntiTheftComm.FuncSwitch = (short)(reg_value / 1); break; + + case 0x4000: aModuleData.CalibrationData.AntiTheftGyro.XAxis = (short)(reg_value / 1); break; + case 0x4001: aModuleData.CalibrationData.AntiTheftGyro.YAxis = (short)(reg_value / 1); break; + case 0x4002: aModuleData.CalibrationData.AntiTheftGyro.ZAxis = (short)(reg_value / 1); break; + case 0x4003: aModuleData.CalibrationData.AntiTheftGyro.GyroPolicySel = (short)(reg_value / 1); break; + case 0x4004: aModuleData.CalibrationData.AntiTheftGyro.GyroFuncSwitch = (short)(reg_value / 1); break; + case 0x4006: aModuleData.CalibrationData.AntiTheftGyro.GyroState = (short)(reg_value / 1); break; + default: + break; + } + } + + private static void SetSP1Register(short reg_addr, short reg_value, ref DeviceSystemData rSystemData) + { + switch (reg_addr) + { + case 0x4000: rSystemData.GyroValue.X_axis = (short)(reg_value); break; // + case 0x4001: rSystemData.GyroValue.Y_axis = (short)(reg_value); break; // + case 0x4002: rSystemData.GyroValue.Z_axis = (short)(reg_value); break; // + case 0x4003: rSystemData.GyroValue.Gyro_policy_sel = (short)(reg_value); break; // + case 0x4004: rSystemData.GyroValue.Gyro_func_sw = (short)(reg_value); break; // + case 0x4006: rSystemData.GyroValue.Gyro_state = (short)(reg_value); break; // + default: + break; + } + } + private static void SetSP2Register(short reg_addr, short reg_value, ref DeviceSystemData rSystemData) + { + switch (reg_addr) + { + case 0x3000: rSystemData.GyroValue.X_axis = (short)(reg_value); break; // + case 0x3002: rSystemData.GyroValue.Y_axis = (short)(reg_value); break; // + default: + break; + } + } + private static void SetReadIdRegister(short reg_addr, short reg_value, ref DeviceSystemData rSystemData) + { + switch (reg_addr) + { + case 0x4000: rSystemData.GyroValue.X_axis = (short)(reg_value); break; // + case 0x4001: rSystemData.GyroValue.Y_axis = (short)(reg_value); break; // + case 0x4002: rSystemData.GyroValue.Z_axis = (short)(reg_value); break; // + case 0x4003: rSystemData.GyroValue.Gyro_policy_sel = (short)(reg_value); break; // + case 0x4004: rSystemData.GyroValue.Gyro_func_sw = (short)(reg_value); break; // + case 0x4006: rSystemData.GyroValue.Gyro_state = (short)(reg_value); break; // + default: + break; + } + } + + private static void SetCoilRegister(short reg_addr, short reg_value, ref CsDeviceData.DeviceModuleData mData) + { + switch (reg_addr) + { + case 0x3078: + mData.StatusData.relayStatus = (ushort)reg_value; + mData.CalibrationData.FetCalib.FetStatus = reg_value; + break; + case 0x502E: + mData.CalibrationData.Current.ChargeOption = reg_value; + break; + } + } + + private static void MakeMaxAvgMinCellVoltage(ref CsDeviceData.DeviceModuleData mData) + { + int Max, Avg, Min, Sum; + int MaxNo, MinNo; + + Max = Avg = Min = Sum = 0; + MaxNo = MinNo = 0; + for (int i = 0; i < mData.cellQty; i++) + { + if (i == 0) + { + Max = Min = mData.ValueData.CellVoltage[i]; + } + Sum += mData.ValueData.CellVoltage[i]; + + if (Max < mData.ValueData.CellVoltage[i]) + { + Max = mData.ValueData.CellVoltage[i]; + MaxNo = i; + } + if (Min > mData.ValueData.CellVoltage[i]) + { + Min = mData.ValueData.CellVoltage[i]; + MinNo = i; + } + } + Avg = Sum / mData.cellQty; + + mData.AvgData.avgCellVoltage = (short)Avg; + mData.AvgData.maxCellVoltage = (short)Max; + mData.AvgData.maxCellNum = (short)(MaxNo + 1); + mData.AvgData.minCellVoltage = (short)Min; + mData.AvgData.minCellNum = (short)(MinNo + 1); + mData.AvgData.diffCellVoltage = (short)(Max - Min); + } + + private static void MakeMaxAvgMinTemperature(ref CsDeviceData.DeviceModuleData mData) + { + int Max, Avg, Min, Sum; + int MaxNo, MinNo; + + Max = Avg = Min = Sum = 0; + MaxNo = MinNo = 0; + + for (int i = 0; i < mData.tempQty; i++) + { + if (i == 0) + { + Max = Min = mData.ValueData.CellTemperature[i]; + } + Sum += mData.ValueData.CellTemperature[i]; + + if (Max < mData.ValueData.CellTemperature[i]) + { + Max = mData.ValueData.CellTemperature[i]; + MaxNo = i; + } + if (Min > mData.ValueData.CellTemperature[i]) + { + Min = mData.ValueData.CellTemperature[i]; + MinNo = i; + } + } + Avg = Sum / mData.tempQty; + + mData.AvgData.avgTemp = (short)Avg; + mData.AvgData.maxTemp = (short)Max; + mData.AvgData.maxTempNum = (short)(MaxNo + 1); + mData.AvgData.minTemp = (short)Min; + mData.AvgData.minTempNum = (short)(MinNo + 1); + mData.AvgData.diffTemp = (short)(Max - Min); + } + + private static short MakeUartWarningData(short rdata) + { + short result = 0; + bool[] bAlarm = csUtils.Int16ToBitArray(rdata); + + if (bAlarm[0] == true) result |= (short)(1 << 2); // 0x0001:Pack OV + if (bAlarm[1] == true) result |= (short)(1 << 4); // 0x0002:Cell OV + if (bAlarm[2] == true) result |= (short)(1 << 3); // 0x0004:Pack UV + if (bAlarm[3] == true) result |= (short)(1 << 5); // 0x0008:Cell UV + + if (bAlarm[4] == true) result |= (short)(1 << 6); // 0x0010:Charging OC + if (bAlarm[5] == true) result |= (short)(1 << 7); // 0x0020:Discharging OC + + if (bAlarm[8] == true) result |= (short)(1 << 0); // 0x0080: Charging Over Tempratuer + if (bAlarm[9] == true) result |= (short)(1 << 0); // 0x0080: Discharging Over Tempratuer + if (bAlarm[10] == true) result |= (short)(1 << 1); // 0x0040: Charging Under Tempratuer + if (bAlarm[11] == true) result |= (short)(1 << 1); // 0x0040: Discharging Under Tempratuer + if (bAlarm[12] == true) result |= (short)(1 << 11); // 0x0200:SOC Low + + return result; + } + + private static short MakeUartTripData(short rdata) + { + short result = 0; + bool[] bAlarm = csUtils.Int16ToBitArray(rdata); + + if (bAlarm[0] == true) result |= (short)(1 << 2); // 0x0001:Pack OV + if (bAlarm[1] == true) result |= (short)(1 << 4); // 0x0002:Cell OV + if (bAlarm[2] == true) result |= (short)(1 << 3); // 0x0004:Pack UV + if (bAlarm[3] == true) result |= (short)(1 << 5); // 0x0008:Cell UV + + if (bAlarm[4] == true) result |= (short)(1 << 6); // 0x0010:Charging OC + if (bAlarm[5] == true) result |= (short)(1 << 7); // 0x0020:Discharging OC + + if (bAlarm[8] == true) result |= (short)(1 << 0); // 0x0080: Charging Over Temprature + if (bAlarm[9] == true) result |= (short)(1 << 0); // 0x0080: Discharging Over Temprature + if (bAlarm[10] == true) result |= (short)(1 << 1); // 0x0040: Charging Under Temprature + if (bAlarm[11] == true) result |= (short)(1 << 1); // 0x0040: Discharging Under Temprature + if (bAlarm[13] == true) result |= (short)(1 << 9); // 0x0200:Short Circuit Protection + + return result; + } + + private static short MakeUartErrorData(short rdata, short cdata) + { + short result = cdata; + bool[] bAlarm = csUtils.Int16ToBitArray(rdata); + + if (bAlarm[0] == true) result |= (short)(1 << 9); // 0x0001:Voltage error + if (bAlarm[1] == true) result |= (short)(1 << 9); // 0x0002:Temperature error + if (bAlarm[2] == true) result |= (short)(1 << 9); // 0x0004: 电流检测Error + if (bAlarm[3] == true) result |= (short)(1 << 9); // 0x0010:Cell unbalance + + return result; + } + } +} diff --git a/LFP_Manager/Function/csExcelExport.cs b/LFP_Manager/Function/csExcelExport.cs new file mode 100644 index 0000000..d1f4bab --- /dev/null +++ b/LFP_Manager/Function/csExcelExport.cs @@ -0,0 +1,191 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.IO; +using System.Data.OleDb; +using System.Text; +using System.ComponentModel; +using System.Windows.Forms; + +namespace LFP_Manager.Function +{ + public static class csExcelExport + { + public static void ExportToExcel(this DataTable dataTable, String filePath, bool overwiteFile = true) + { + if (Directory.Exists(Path.GetDirectoryName(filePath)) == false) + Directory.CreateDirectory(Path.GetDirectoryName(filePath)); + if (File.Exists(filePath) && overwiteFile) + File.Delete(filePath); + + //var conn = String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR=Yes;IMEX=0';", filePath); + var conn = ""; + + if (filePath.IndexOf(".xlsx") > -1) // 확장자에 따라서 provider 주의 + conn = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0;HDR=Yes;IMEX=3';", filePath); + else + conn = String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR=Yes;IMEX=3';", filePath); + + using (OleDbConnection connection = new OleDbConnection(conn)) + { + connection.Open(); + using (OleDbCommand command = new OleDbCommand()) + { + command.Connection = connection; + List columnNames = new List(); + List columnTypes = new List(); + foreach (DataColumn dataColumn in dataTable.Columns) + { + columnNames.Add(dataColumn.ColumnName); + string tName = "VARCHAR"; + switch (dataColumn.DataType.Name) + { + case "Int16": tName = "INTEGER"; break; + case "Int32": tName = "INTEGER"; break; + case "Int64": tName = "INTEGER"; break; + case "Double": tName = "DOUBLE"; break; + case "String": tName = "VARCHAR"; break; + default: tName = dataColumn.DataType.Name; break; + } + columnTypes.Add(tName); + } + String tableName = !String.IsNullOrWhiteSpace(dataTable.TableName) ? dataTable.TableName : Guid.NewGuid().ToString(); + //command.CommandText = @"CREATE TABLE [{tableName}] ({String.Join(",", columnNames.Select(c => $"[{c}] VARCHAR").ToArray())});"; + //string join = String.Join(",", columnNames.Select(c => String.Format("[{0}] VARCHAR", c)).ToArray()); + string join = ""; + for (int i = 0; i < columnNames.Count; i++) + { + join += String.Format("[{0}] {1}", columnNames[i], columnTypes[i]); + if (i < (columnNames.Count - 1)) join += ","; + } + command.CommandText = String.Format("CREATE TABLE [{0}] ({1});", + tableName, + join + ); + command.ExecuteNonQuery(); + + foreach (DataRow row in dataTable.Rows) + { + List rowValues = new List(); + foreach (DataColumn column in dataTable.Columns) + { + rowValues.Add((row[column] != null && row[column] != DBNull.Value) ? row[column].ToString() : String.Empty); + } + //command.CommandText = $"INSERT INTO [{tableName}]({String.Join(",", columnNames.Select(c => $"[{c}]"))}) VALUES ({String.Join(",", rowValues.Select(r => $"'{r}'").ToArray())});"; + string a = String.Join(",", columnNames.Select(c => String.Format("[{0}]", c))); + string b = String.Join(",", rowValues.Select(r => String.Format("'{0}'", (r == "") ? "0" : r)).ToArray()); + command.CommandText = String.Format("INSERT INTO [{0}]({1}) VALUES ({2});", tableName, a, b); + command.ExecuteNonQuery(); + } + } + + connection.Close(); + } + } + + public static void ExportToExcelExt(this DataTable dataTable, String filePath, bool overwiteFile = true) + { + string result = String.Empty; + + Forms.fmxWait WaitForm = new Forms.fmxWait(); + WaitForm.StartPosition = FormStartPosition.CenterScreen; + WaitForm.ShowOnTopMode = DevExpress.XtraWaitForm.ShowFormOnTopMode.AboveParent; + + WaitForm.Show(); + + try + { + if (Directory.Exists(Path.GetDirectoryName(filePath)) == false) + Directory.CreateDirectory(Path.GetDirectoryName(filePath)); + if (File.Exists(filePath) && overwiteFile) + File.Delete(filePath); + + //var conn = String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR=Yes;IMEX=0';", filePath); + var conn = ""; + + if (filePath.IndexOf(".xlsx") > -1) // 확장자에 따라서 provider 주의 + conn = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0;HDR=Yes;IMEX=3';", filePath); + else + conn = String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR=Yes;IMEX=3';", filePath); + + using (OleDbConnection connection = new OleDbConnection(conn)) + { + connection.Open(); + using (OleDbCommand command = new OleDbCommand()) + { + command.Connection = connection; + List columnNames = new List(); + List columnTypes = new List(); + foreach (DataColumn dataColumn in dataTable.Columns) + { + columnNames.Add(dataColumn.ColumnName); + string tName = "VARCHAR"; + switch (dataColumn.DataType.Name) + { + case "Boolean": tName = "VARCHAR"; break; + case "Int16": tName = "INTEGER"; break; + case "Int32": tName = "INTEGER"; break; + case "Int64": tName = "INTEGER"; break; + case "Double": tName = "DOUBLE"; break; + case "Decimal": tName = "DOUBLE"; break; + case "String": tName = "VARCHAR"; break; + default: tName = dataColumn.DataType.Name; break; + } + columnTypes.Add(tName); + } + String tableName = !String.IsNullOrWhiteSpace(dataTable.TableName) ? dataTable.TableName : Guid.NewGuid().ToString(); + //command.CommandText = @"CREATE TABLE [{tableName}] ({String.Join(",", columnNames.Select(c => $"[{c}] VARCHAR").ToArray())});"; + //string join = String.Join(",", columnNames.Select(c => String.Format("[{0}] VARCHAR", c)).ToArray()); + string join = ""; + for (int i = 0; i < columnNames.Count; i++) + { + join += String.Format("[{0}] {1}", columnNames[i], columnTypes[i]); + if (i < (columnNames.Count - 1)) join += ","; + } + command.CommandText = String.Format("CREATE TABLE [{0}] ({1});", + tableName, + join + ); + command.ExecuteNonQuery(); + + int rNo = 0; + + foreach (DataRow row in dataTable.Rows) + { + List rowValues = new List(); + foreach (DataColumn column in dataTable.Columns) + { + rowValues.Add((row[column] != null && row[column] != DBNull.Value) ? row[column].ToString().Trim('\0') : String.Empty); + } + //command.CommandText = $"INSERT INTO [{tableName}]({String.Join(",", columnNames.Select(c => $"[{c}]"))}) VALUES ({String.Join(",", rowValues.Select(r => $"'{r}'").ToArray())});"; + string a = String.Join(",", columnNames.Select(c => String.Format("[{0}]", c))); + string b = String.Join(",", rowValues.Select(r => String.Format("'{0}'", (r == "") ? "0" : r)).ToArray()); + + command.CommandText = String.Format("INSERT INTO [{0}]({1}) VALUES ({2});", tableName, a, b); + command.ExecuteNonQuery(); + + rNo++; + + WaitForm.SetDescription(String.Format("{0}//{1}", rNo, dataTable.Rows.Count)); + Application.DoEvents(); + } + } + + connection.Close(); + } + } + catch (Exception ex) + { + result = ex.Message; + } + finally + { + WaitForm.Close(); + + if (result != String.Empty) + throw new Exception(result); + } + } + } +} diff --git a/LFP_Manager/Function/csExcelFunction.cs b/LFP_Manager/Function/csExcelFunction.cs new file mode 100644 index 0000000..3f10aa2 --- /dev/null +++ b/LFP_Manager/Function/csExcelFunction.cs @@ -0,0 +1,145 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Data; +using System.Windows.Forms; + +using System.Data.OleDb; + +namespace LFP_Manager.Function +{ + public class csExcelFunction + { + public static DataTable[] ExcelImport(string Ps_FileName, string[] sheetName) + { + DataTable[] result = null; + + try + { + string ExcelConn = string.Empty; + + if (Ps_FileName.IndexOf(".xlsx") > -1) // 확장자에 따라서 provider 주의 + { + ExcelConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Ps_FileName + + ";Extended Properties='Excel 12.0;HDR=YES'"; + } + else + { + ExcelConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Ps_FileName + + ";Extended Properties='Excel 8.0;HDR=YES'"; + } + + // 첫 번째 시트의 이름을 가져옮 + using (OleDbConnection con = new OleDbConnection(ExcelConn)) + { + using (OleDbCommand cmd = new OleDbCommand()) + { + cmd.Connection = con; + con.Open(); + + DataTable dtExcelSchema = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); + + if (dtExcelSchema.Rows.Count > 0) + { + sheetName = new string[dtExcelSchema.Rows.Count]; + + for (int i = 0; i < dtExcelSchema.Rows.Count; i++) + sheetName[i] = dtExcelSchema.Rows[i]["TABLE_NAME"].ToString(); + } + con.Close(); + } + } + string msg = string.Empty; + for (int i = 0; i < sheetName.Length; i++) + msg += sheetName[i] + "\r\n"; + //MessageBox.Show("sheetName = " + msg); + + // 첫 번째 쉬트의 데이타를 읽어서 datagridview 에 보이게 함. + using (OleDbConnection con = new OleDbConnection(ExcelConn)) + { + using (OleDbCommand cmd = new OleDbCommand()) + { + using (OleDbDataAdapter oda = new OleDbDataAdapter()) + { + result = new DataTable[sheetName.Length]; + + for (int i = 0; i < sheetName.Length; i++) + { + result[i] = new DataTable(); + result[i].TableName = sheetName[i]; + cmd.CommandText = "SELECT * From [" + sheetName[i] + "]"; + cmd.Connection = con; + con.Open(); + oda.SelectCommand = cmd; + try + { + oda.Fill(result[i]); + } + catch (Exception) + { + //MessageBox.Show(e1.Message); + } + con.Close(); + } + } + } + } + } + catch (Exception e) + { + MessageBox.Show(e.Message, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + return result; + } + + public static void ExcelExport(string Ps_FileName, string[] sheetName) + { + string ExcelConn = string.Empty; + + if (Ps_FileName.IndexOf(".xlsx") > -1) // 확장자에 따라서 provider 주의 + { + ExcelConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Ps_FileName + + ";Extended Properties='Excel 12.0;HDR=YES;IMEX=3;READONLY=FALSE'"; + } + else + { + ExcelConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Ps_FileName + + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=3;READONLY=FALSE'"; + } + + // 첫 번째 시트의 이름을 가져옮 + using (OleDbConnection con = new OleDbConnection(ExcelConn)) + { + using (OleDbCommand cmd = new OleDbCommand()) + { + cmd.Connection = con; + con.Open(); + + DataTable dtExcelSchema = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); + + if (dtExcelSchema.Rows.Count > 0) + { + sheetName = new string[dtExcelSchema.Rows.Count]; + + for (int i = 0; i < dtExcelSchema.Rows.Count; i++) + sheetName[i] = dtExcelSchema.Rows[i]["TABLE_NAME"].ToString(); + } + con.Close(); + } + } + using (OleDbConnection connection = + new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + @"C:\Users\[...]\Classeur.xls" + + ";Extended Properties=\"Excel 8.0;HDR=NO;IMEX=1;READONLY=FALSE\"")) + { + connection.Open(); + OleDbCommand commande = new OleDbCommand( + "INSERT INTO [Feuil1$](F1,F2,F3) VALUES ('A3','B3','C3');", connection); + commande.ExecuteNonQuery(); + + connection.Close(); + connection.Dispose(); + } + } + } +} diff --git a/LFP_Manager/Function/csHistoryFunction.cs b/LFP_Manager/Function/csHistoryFunction.cs new file mode 100644 index 0000000..1adc223 --- /dev/null +++ b/LFP_Manager/Function/csHistoryFunction.cs @@ -0,0 +1,120 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.IO; +using System.Data; + +using System.Data.SQLite; +using LFP_Manager.DataStructure; +using LFP_Manager.Utils; + +namespace LFP_Manager.Function +{ + class csHistoryFunction + { + #region DB CREATE + + public static void DbCreate(string mPath) + { + string dbFilename = mPath + DbConstData.Database.FileName; + + if (Directory.Exists(System.IO.Path.GetDirectoryName(dbFilename)) == false) + Directory.CreateDirectory(System.IO.Path.GetDirectoryName(dbFilename)); + + if (File.Exists(dbFilename) == false) + // Create database + SQLiteConnection.CreateFile(dbFilename); + + // Open database + string strConn = @"Data Source=" + dbFilename; + using (var connection = new SQLiteConnection(strConn)) + { + connection.Open(); + try + { + // Create table + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = DbConstData.Database.CreateTable; + command.ExecuteNonQuery(); + } + } + catch (Exception) + { + } + finally + { + connection.Close(); + } + } + } + + #endregion + + #region DB INSERT DATA + private void IDInsert(DataTable aData, string mPath, string Quary) + { + string dbFilename = mPath + DbConstData.Database.FileName; + + // Open database + string strConn = @"Data Source=" + dbFilename; + using (var connection = new SQLiteConnection(strConn)) + { + connection.Open(); + try + { + // Insert data + using (SQLiteCommand command = connection.CreateCommand()) + { + //WaitForm.ShowWaitForm(); + + command.CommandText = "BEGIN;"; //명시적 트렌젝션 시작 + command.ExecuteNonQuery(); + + //sSQL = "insert into TrendTable ( TrendStamp, TagName, TagValue) Values ( " + IntToStr(stamp) + "," + name + "," + value + ");"; + //command.CommandText = "INSERT INTO " + csDbConstData.DataBase.TableName + "(id) " + " Values (@id);"; + command.CommandText = Quary; + SQLiteParameter p = new SQLiteParameter("@id", DbType.String); + + command.Parameters.Add(p); + + for (int i = 0; i < aData.Rows.Count; i++) + { + p.Value = String.Format("{0}", aData.Rows[i][0].ToString()); // id + + try + { + command.ExecuteNonQuery(); + } + catch (Exception) + { + //MessageBox.Show(e1.ToString() + ":" + i.ToString()); + } + finally + { + //System.Windows.Forms.Application.DoEvents(); + //WaitForm.SetWaitFormDescription(String.Format("{0}//{1}", i, aData.Rows.Count)); + } + } + command.CommandText = "COMMIT;"; //명시적 트렌젝션 시작 + command.ExecuteNonQuery(); + + //WaitForm.CloseWaitForm(); + } + } + catch (Exception) + { + //MessageBox.Show(e.ToString()); + } + finally + { + connection.Close(); + } + } + } + + #endregion + + } +} diff --git a/LFP_Manager/Function/csIniControlFunction.cs b/LFP_Manager/Function/csIniControlFunction.cs new file mode 100644 index 0000000..60914bb --- /dev/null +++ b/LFP_Manager/Function/csIniControlFunction.cs @@ -0,0 +1,207 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +using System.Runtime.InteropServices; +using System.IO; + +using LFP_Manager.DataStructure; + +namespace LFP_Manager.Function +{ + class csIniControlFunction + { + #region [Function] INI File Read Function(Section Setting) + public static string[] GetIniValue(string Section, string path) + { + byte[] ba = new byte[5000]; + uint Flag = GetPrivateProfileSection(Section, ba, 5000, path); + return Encoding.Default.GetString(ba).Split(new char[1] { '\0' }, StringSplitOptions.RemoveEmptyEntries); + } + #endregion + + #region [Function] INI File Read Function(Section and Key Setting) + public static string GetIniValue(string Section, string key, string path) + { + StringBuilder sb = new StringBuilder(500); + int Flag = GetPrivateProfileString(Section, key, "", sb, 500, path); + return sb.ToString(); + } + #endregion + + #region [Function] INI File Read Function(Section, Key, Value, Address Setting) + public bool SetIniValue(string Section, string Key, string Value, string path) + { + return (WritePrivateProfileString(Section, Key, Value, path)); + } + #endregion + + #region [DLL Function] INI DLL Load + [DllImport("kernel32")] + public static extern int GetPrivateProfileString(string lpAppName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString, int nSize, string lpFileName); + [DllImport("kernel32")] + public static extern bool WritePrivateProfileString(string lpAppName, string lpKeyName, string lpString, string lpFileName); + [DllImport("kernel32")] + public static extern uint GetPrivateProfileInt(string lpAppName, string lpKeName, int nDefault, string lpFileName); + [DllImport("kernel32")] + public static extern uint GetPrivateProfileSection(string lpAppName, byte[] lpPairValues, uint nSize, string lpFileName); + [DllImport("kernel32")] + public static extern uint GetPrivateProfileSectionNames(byte[] lpSections, uint nSize, string lpFileName); + #endregion + + public static DateTime Delay(int MS) + { + DateTime thisMoment = DateTime.Now; + TimeSpan duration = new TimeSpan(0, 0, 0, 0, MS); + DateTime afterMoment = thisMoment.Add(duration); + + while (afterMoment >= thisMoment) + { + System.Windows.Forms.Application.DoEvents(); + + thisMoment = DateTime.Now; + } + + return DateTime.Now; + } + + public static void IniLoad(string AppPath, ref CommConfig rConfig) + { + string path; + + path = System.IO.Path.GetDirectoryName(AppPath); + + if (File.Exists(String.Format("{0}\\CommSet.ini", path))) + { + StringBuilder ret = new StringBuilder(); + string InIPath = String.Format("{0}\\CommSet.ini", path); + + // CommType = 0: RS-485, 1: SNMP + rConfig.CommType = (int)csIniControlFunction.GetPrivateProfileInt("COMM TYPE", "TYPE", 0, InIPath); + + // SNMP Config + // IP + ret.Clear(); + csIniControlFunction.GetPrivateProfileString("SNMP", "IP", "(NONE)", ret, 32, InIPath); + rConfig.SnmpIP = ret.ToString(); + // Model + rConfig.SnmpModelIndex = (int)csIniControlFunction.GetPrivateProfileInt("SNMP", "MODEL", 2, InIPath); + + // Serial Port Config + // PORT + ret.Clear(); + csIniControlFunction.GetPrivateProfileString("UART", "PORT", "(NONE)", ret, 32, InIPath); + rConfig.UartPort = ret.ToString(); + // MODEL + rConfig.UartModelIndex = (int)csIniControlFunction.GetPrivateProfileInt("UART", "MODEL", 0, InIPath); + + // Module Qunatity = 1 - 16 + rConfig.ModuleQty = (int)csIniControlFunction.GetPrivateProfileInt("UART", "MODULE_QTY", 1, InIPath); + + // PROTOCOL + rConfig.UartProtocol = (int)csIniControlFunction.GetPrivateProfileInt("UART", "PROTOCOL", 0, InIPath); + + // PROTOCOL + rConfig.RecvWaitTime = (int)csIniControlFunction.GetPrivateProfileInt("UART", "RECV_WAIT_TIME", 1500, InIPath); + + // COMM FAIL TIME OUT + rConfig.CommFailTime = (int)csIniControlFunction.GetPrivateProfileInt("UART", "COMM_FAIL_TIME", 5000, InIPath); + + // Etc. Config + rConfig.DbLogPeriod = (int)csIniControlFunction.GetPrivateProfileInt("DATABASE", "LOG_PERIOD", 1, InIPath); + + // Gyro. Config + rConfig.GyroSensitive = (int)csIniControlFunction.GetPrivateProfileInt("GYRO", "SENSITIVITY", 120, InIPath); + + try + { + // ENABLE PASSWORD + ret.Clear(); + csIniControlFunction.GetPrivateProfileString("PW", "MASTER", CsCryptoHelper.Encrypt("8003"), ret, 32, InIPath); + rConfig.MasterPw = CsCryptoHelper.Decrypt(ret.ToString()); + // DISABLE PASSWORD + ret.Clear(); + csIniControlFunction.GetPrivateProfileString("PW", "ENGINEER", CsCryptoHelper.Encrypt("7003"), ret, 32, InIPath); + rConfig.EngineerPw = CsCryptoHelper.Decrypt(ret.ToString()); + // LEVEL PASSWORD + ret.Clear(); + csIniControlFunction.GetPrivateProfileString("PW", "TECHNICIAN", CsCryptoHelper.Encrypt("6003"), ret, 32, InIPath); + rConfig.TechnicianPw = CsCryptoHelper.Decrypt(ret.ToString()); + } + catch (Exception) + { + rConfig.MasterPw = "8003"; + rConfig.EngineerPw = "7003"; + rConfig.TechnicianPw = "6003"; + } + } + else + { + rConfig.CommType = 0; + + rConfig.SnmpIP = "192.168.0.200"; + rConfig.SnmpModelIndex = 0; + + rConfig.UartPort = ""; + rConfig.UartProtocol= 0; + rConfig.RecvWaitTime = 1500; + + rConfig.CommFailTime = 5000; + + rConfig.DbLogPeriod = 5; + + rConfig.GyroSensitive = 120; + + rConfig.MasterPw = "8003"; + rConfig.EngineerPw = "7003"; + rConfig.TechnicianPw = "6003"; + } + } + + public static void IniSave(string AppPath, CommConfig aConfig) + { + string path = Path.GetDirectoryName(AppPath); + string InIPath = String.Format("{0}\\CommSet.ini", path); + + // write ini + + // CommType = 0: SNMP, 1: RS-485 + WritePrivateProfileString("COMM TYPE", "TYPE", aConfig.CommType.ToString(), InIPath); + + // SNMP Config + // IP + WritePrivateProfileString("SNMP", "IP", aConfig.SnmpIP, InIPath); + // Model + WritePrivateProfileString("SNMP", "MODEL", aConfig.SnmpModelIndex.ToString(), InIPath); + + // Serial Port Config + // PORT + WritePrivateProfileString("UART", "PORT", aConfig.UartPort, InIPath); + // MODEL + WritePrivateProfileString("UART", "MODEL", aConfig.UartModelIndex.ToString(), InIPath); + // MODULE QTY = 1 - 16 + WritePrivateProfileString("UART", "MODULE_QTY", aConfig.ModuleQty.ToString(), InIPath); + // PROTOCOL + WritePrivateProfileString("UART", "PROTOCOL", aConfig.UartProtocol.ToString(), InIPath); + // RECV_WAIT_TIME + WritePrivateProfileString("UART", "RECV_WAIT_TIME", aConfig.RecvWaitTime.ToString(), InIPath); + + // COMM_FAIL_TIME + WritePrivateProfileString("UART", "COMM_FAIL_TIME", aConfig.CommFailTime.ToString(), InIPath); + + // Etc Config + WritePrivateProfileString("DATABASE", "LOG_PERIOD", aConfig.DbLogPeriod.ToString(), InIPath); + + // Gyro Config + WritePrivateProfileString("GYRO", "SENSITIVITY", aConfig.GyroSensitive.ToString(), InIPath); + + // MASTER PASSWORD + WritePrivateProfileString("PW", "MASTER", CsCryptoHelper.Encrypt(aConfig.MasterPw), InIPath); + // ENGINEER PASSWORD + WritePrivateProfileString("PW", "ENGINEER", CsCryptoHelper.Encrypt(aConfig.EngineerPw), InIPath); + // TECHNICIAN PASSWORD + WritePrivateProfileString("PW", "TECHNICIAN", CsCryptoHelper.Encrypt(aConfig.TechnicianPw), InIPath); + } + } +} diff --git a/LFP_Manager/Function/csMakeDataFunction.cs b/LFP_Manager/Function/csMakeDataFunction.cs new file mode 100644 index 0000000..2e763c1 --- /dev/null +++ b/LFP_Manager/Function/csMakeDataFunction.cs @@ -0,0 +1,218 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Runtime.Serialization.Formatters.Binary; +using System.IO; + +using LFP_Manager.DataStructure; +using LFP_Manager.Utils; + +namespace LFP_Manager.Function +{ + class csMakeDataFunction + { + //0x0001: Over voltage warning + //0x0002: Cell Over voltage warning + //0x0004: Low voltage warning + //0x0008: Low cell voltage warning + //0x0010: Charge over current warning + //0x0020: Discharge over current warning + //0x0040: ambient temp warning + //0x0080: MOSFET over temp warning + //0x0100: Charge over temperature warning + //0x0200: Discharge over temperature warning + //0x0400: Charge low temperature warning + //0x0800: Discharge low temperature warning + //0x1000: Low capacity warning + //0x2000: Low SOH warning + + private static ushort MakeAlarmTripData(int id, short ndata, CsDeviceData.DeviceModuleData mData) + { + bool[] aData = csUtils.Int16ToBitArray(ndata); + int bFault = mData.StatusData.protect; + int bWarning = mData.StatusData.warning; + int i = 0; + + if (id == 0) + { + // Warning + if (aData[i++]) bWarning |= (1 << 1); // Bit 0 : Cell Over voltage warning --> Bit 1 + else bWarning &= ~(1 << 1); + if (aData[i++]) bWarning |= (1 << 3); // Bit 1 : Cell Under voltage warning --> Bit 3 + else bWarning &= ~(1 << 3); + if (aData[i++]) bWarning |= (1 << 0); // Bit 2 : Pack Over voltage warning --> Bit 0 + else bWarning &= ~(1 << 0); + if (aData[i++]) bWarning |= (1 << 2); // Bit 3 : Pack Under voltage warning --> Bit 2 + else bWarning &= ~(1 << 2); + if (aData[i++]) bWarning |= (1 << 4); // Bit 4 : Charge over current warning --> Bit 4 + else bWarning &= ~(1 << 4); + if (aData[i++]) bWarning |= (1 << 5); // Bit 5 : Discharge over current warning --> Bit 5 + else bWarning &= ~(1 << 5); + if (aData[i++]) bWarning |= (1 << 6); // Bit 6 : Env over temperature warning --> Bit 6 + else bWarning &= ~(1 << 6); + //if (aData[i++]) bWarning |= (1 << 7); // Bit 7 : Env under temperature warning --> Bit 7 + //else bWarning &= ~(1 << 7); + i++; // 07 Reserved + if (aData[i++]) bWarning |= (1 << 8); // Bit 8 : Charge over temperature warning --> Bit 8 + else bWarning &= ~(1 << 8); + if (aData[i++]) bWarning |= (1 << 10); // Bit 9 : Charge under temperature warning --> Bit 10 + else bWarning &= ~(1 << 10); + if (aData[i++]) bWarning |= (1 << 9); // Bit 10 : Discharge over temperature warning --> Bit 9 + else bWarning &= ~(1 << 9); + if (aData[i++]) bWarning |= (1 << 11); // Bit 11 : Discharge under temperature warning --> Bit 11 + else bWarning &= ~(1 << 11); + + if (aData[i++]) bWarning |= (1 << 12); // Bit 12 : Low capacity warning --> Bit 12 + else bWarning &= ~(1 << 12); + i++; // 13 + + return (ushort)bWarning; + } + else + { + // Protection + if (aData[i++]) bFault |= (1 << 2); // Bit 0 : Over voltage warning + else bFault &= ~(1 << 2); + if (aData[i++]) bFault |= (1 << 4); // Bit 1 : Cell Over voltage warning + else bFault &= ~(1 << 4); + if (aData[i++]) bFault |= (1 << 3); // Bit 2 : Low voltage warning + else bFault &= ~(1 << 3); + if (aData[i++]) bFault |= (1 << 5); // Bit 3 : Low cell voltage warning + else bFault &= ~(1 << 5); + if (aData[i++]) bFault |= (1 << 6); // Bit 4 : Charge over current warning + else bFault &= ~(1 << 6); + if (aData[i++]) bFault |= (1 << 7); // Bit 5 : Discharge over current warning + else bFault &= ~(1 << 7); + i++; // 06 Abnormal balancing current + i++; // 07 Reserved + if ((aData[8]) || (aData[9])) bFault |= (1 << 0); // Bit 8 : Charge over temperature warning, Bit 9 : Discharge over temperature warning + else bFault &= ~(1 << 0); + i++; // 08 + i++; // 09 + if ((aData[10]) || (aData[11])) bFault |= (1 << 1); // Bit 10 : Charge low temperature warning, Bit 11 : Discharge low temperature warning + else bFault &= ~(1 << 1); + i++; // 10 + i++; // 11 + i++; // 12 + i++; // 13 + if (aData[i++]) bFault |= (1 << 9); // 14 Cell Voltage Difference Warning + else bFault &= ~(1 << 9); + return (ushort)bFault; + } + } + + public static void SetSnmpData(int index, object sdata, ref CsDeviceData.DeviceModuleData aModuleData) + { + switch (index) + { + case 1: aModuleData.ValueData.voltage = (short)(Convert.ToDouble(sdata) / 10); break; // voltageOfPack - 0.01V + case 2: aModuleData.ValueData.current = (short)(Convert.ToDouble(sdata) - 10000); break; // current - 0.1A, Offset: 10000 + case 3: // Cell Voltage #1 + case 4: // Cell Voltage #2 + case 5: // Cell Voltage #3 + case 6: // Cell Voltage #4 + case 7: // Cell Voltage #5 + case 8: // Cell Voltage #6 + case 9: // Cell Voltage #7 + case 10: // Cell Voltage #8 + case 11: // Cell Voltage #9 + case 12: // Cell Voltage #10 + case 13: // Cell Voltage #11 + case 14: // Cell Voltage #12 + case 15: // Cell Voltage #13 + case 16: // Cell Voltage #14 + case 17: + aModuleData.ValueData.CellVoltage[index - 3] = (ushort)(Convert.ToDouble(sdata) / 1); + csSerialCommFunction.MakeMaxAvgMinCellVoltage(ref aModuleData); + break; // Cell Voltage #16 + + case 19: aModuleData.ValueData.MosTemperature = (short)(Convert.ToDouble(sdata) * 10); break; // Temp of PCB - C + case 20: aModuleData.ValueData.AmbTemperature = (short)(Convert.ToDouble(sdata) * 10); break; // Temp of Ambient - C + case 21: aModuleData.AvgData.maxTemp = (short)(Convert.ToDouble(sdata) * 10); break; // Max. Temp + + case 22: aModuleData.ValueData.remainingCapacity = (short)(Convert.ToDouble(sdata) * 1); break; // Remaining Capacity + + case 24: aModuleData.ValueData.SOH = (short)(Convert.ToDouble(sdata) / 10); break; // stateOfHealth + case 25: aModuleData.ValueData.SOC = (short)(Convert.ToDouble(sdata) / 10); break; // Relatvie State Of Charge + + case 26: aModuleData.StatusData.status = (ushort)(Convert.ToDouble(sdata) / 1); break; // Status + case 27: aModuleData.StatusData.warning = (ushort)CsAlarmDefine.DevWarningToGui(Convert.ToInt32(sdata)); break; // warning + case 28: aModuleData.StatusData.protect = (ushort)CsAlarmDefine.DevProtectToGui(Convert.ToInt32(sdata)); break; // protection + case 29: // FaultAndStatus + aModuleData.StatusData.faultAndStatus = (ushort)(Convert.ToDouble(sdata) / 1); + //aModuleData.StatusData.status = (short)(((short)Convert.ToDouble(sdata) >> 8) & 0x0003); + MakeAlarm(ref aModuleData); + break; + case 30: aModuleData.ValueData.cycleCount = (ushort)(Convert.ToDouble(sdata) / 1); break; // cycleCount + + case 31: // Temperature #1 + case 32: // Temperature #2 + case 33: // Temperature #3 + case 34: aModuleData.ValueData.CellTemperature[index - 31] = (short)(Convert.ToDouble(sdata) * 10); break; // Temperature #4 + + case 37: aModuleData.cellQty = (short)(Convert.ToDouble(sdata) * 1); break; // Cell Number + case 38: aModuleData.ValueData.designedCapacity = (short)(Convert.ToDouble(sdata) * 1); break; // Cell Number + case 40: aModuleData.ValueData.RecMaxBattChgCurrLmt = (short)(Convert.ToDouble(sdata) * 1); break; // Max. Charge Current - A + case 41: aModuleData.ntcQty = (short)(Convert.ToDouble(sdata) * 1); break; // NTC Number + + case 42: aModuleData.BmsDateTime.year = (short)(Convert.ToDouble(sdata) * 1); break; // BMS DateTime - Year + case 43: aModuleData.BmsDateTime.month = (short)(Convert.ToDouble(sdata) * 1); break; // BMS DateTime - Month + case 44: aModuleData.BmsDateTime.day = (short)(Convert.ToDouble(sdata) * 1); break; // BMS DateTime - Day + case 45: aModuleData.BmsDateTime.hour = (short)(Convert.ToDouble(sdata) * 1); break; // BMS DateTime - Hour + case 46: aModuleData.BmsDateTime.minute = (short)(Convert.ToDouble(sdata) * 1); break; // BMS DateTime - Minute + case 47: aModuleData.BmsDateTime.second = (short)(Convert.ToDouble(sdata) * 1); // BMS DateTime - Second + aModuleData.BmsDateTime.DateTimeStr = string.Format("{0:0000}-{1:00}-{2:00} {3:00}:{4:00}:{5:00}" + , aModuleData.BmsDateTime.year + , aModuleData.BmsDateTime.month + , aModuleData.BmsDateTime.day + , aModuleData.BmsDateTime.hour + , aModuleData.BmsDateTime.minute + , aModuleData.BmsDateTime.second + ); + break; + + case 48: aModuleData.FloatVoltage = (int)Convert.ToDouble(sdata); break; // Float Voltage - 0.01V + case 49: aModuleData.BoostVoltage = (int)Convert.ToDouble(sdata); break; // Boost Voltage - 0.01V + + case 50: aModuleData.MinChargeTemp = (int)Convert.ToDouble(sdata); break; // Min. Charge Temp - C + case 51: aModuleData.MaxChargeTemp = (int)Convert.ToDouble(sdata); break; // Max. Charge Temp - C + + case 60: aModuleData.Information.ModelName = (string)sdata; break; // Model - string + case 61: aModuleData.Information.SwProductRev = (string)sdata; break; // BMS Fw Version - string + case 62: aModuleData.Information.HwSerialNumber = (string)sdata; break; // Pack Serial Number - string + case 63: aModuleData.Information.VendorName = (string)sdata; break; // Vendor Name - string + case 64: aModuleData.Information.ProductCode = (string)sdata; break; // Product Code - string + case 65: aModuleData.Information.MajorMinorRev = (string)sdata; break; // Major Minor Revision - string + case 66: aModuleData.Information.HwProductRev = (string)sdata; break; // Hardware Product Revision - string + case 67: aModuleData.Information.ManufacturingDate = (string)sdata; break; // Manufacturing Date - string + + default: + break; + } + } + public static void MakeAlarm(ref CsDeviceData.DeviceModuleData aModuleData) + { + if (((aModuleData.StatusData.faultAndStatus >> 14) & 0x0001) == 0x0001) + { + aModuleData.StatusData.batteryStatus = 4; // Anti-theft Gyroscope + } + else if (((aModuleData.StatusData.faultAndStatus >> 15) & 0x0001) == 0x0001) + { + aModuleData.StatusData.batteryStatus = 5; // Anti-theft Comm. + } + else if (aModuleData.StatusData.protect != 0x0000) + { + aModuleData.StatusData.batteryStatus = 2; + } + else if (aModuleData.StatusData.warning != 0x0000) + { + aModuleData.StatusData.batteryStatus = 1; + } + else + { + aModuleData.StatusData.batteryStatus = 0; + } + } + } +} diff --git a/LFP_Manager/Function/csSerialCommFunction.cs b/LFP_Manager/Function/csSerialCommFunction.cs new file mode 100644 index 0000000..a7ed039 --- /dev/null +++ b/LFP_Manager/Function/csSerialCommFunction.cs @@ -0,0 +1,969 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +using LFP_Manager.DataStructure; +using LFP_Manager.Utils; +using LFP_Manager.Controls; +using System.Web.Services.Description; +using System.Data.Entity.Core.Common.CommandTrees; +using DevExpress.XtraRichEdit.Fields.Expression; +using DevExpress.XtraRichEdit.Layout; +using DevExpress.XtraPrinting.Native.LayoutAdjustment; + +namespace LFP_Manager.Function +{ + class csSerialCommFunction + { + static readonly byte[] auchCRCHi = { + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, + 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, + 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, + 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, + 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, + 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, + 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, + 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, + 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, + 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, + 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, + 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, + 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, + 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,0x40 + }; + + static readonly byte[] auchCRCLo = { + 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4, + 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, + 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, + 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, + 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7, + 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, + 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, + 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, + 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2, + 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, + 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, + 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, + 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91, + 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, + 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, + 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, + 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80,0x40 + }; + + public const byte READ_COIL_STATUS = 0x01; + public const byte READ_HOLDING_REG = 0x03; + public const byte READ_INPUT_REG = 0x04; //Byul 구문 추가 필요 + public const byte FORCE_SINGLE_COIL = 0x05; + public const byte PRESET_SINGLE_REG = 0x06; + public const byte PRESET_MULTI_REG = 0x10; + public const byte WRITE_COIL_REG = 0x0F; + public const byte ERROR_REG = 0x90; + + public const byte FW_FLASH_ERASE_CMD = 0x43; + public const byte FW_FLASH_WRITE_CMD = 0x31; + + public const byte NO_CMD = 0xFF; + + public static byte[] GetCRC(byte[] pby, int nSize) + { + ushort uIndex, i; + ushort crc; + byte uchCRCHi = 0xff; + byte uchCRCLo = 0xff; + byte[] result = new byte[2]; + + for (i = 0; i < nSize; i++) + { + uIndex = (ushort)((int)uchCRCLo ^ (int)pby[i]); + uchCRCLo = (byte)(uchCRCHi ^ auchCRCHi[uIndex]); + uchCRCHi = auchCRCLo[uIndex]; + } + crc = (ushort)((uchCRCHi << 8) | uchCRCLo); + + result[0] = (byte)(crc >> 8); + result[1] = (byte)(crc >> 0); + + return result; + } + + static public byte[] MakeReadRegisterData(ushort DevID, ushort cmd, ushort ReadAddr, ushort Size) + { + byte[] result = new byte[8]; + byte[] crc; + + result[0] = (byte)DevID; // Device ID + result[1] = (byte)cmd; // Command + result[2] = (byte)(ReadAddr >> 8); // Register Address MSB + result[3] = (byte)(ReadAddr >> 0); // Register Address LSB + result[4] = (byte)(Size >> 8); // Count of Register MSB + result[5] = (byte)(Size >> 0); // Count of Register LSB + + crc = GetCRC(result, 6); + + result[6] = crc[1]; // CRCH + result[7] = crc[0]; // CRCL + + return result; + } + + static public byte[] MakeWriteCoilData(ushort DevID, ushort WriteAddr, short WriteData) + { + byte[] result = new byte[7 + (1 * 1) + 2]; + byte[] crc; + ushort i = 0; + + result[i++] = (byte)DevID; // Device ID + result[i++] = (byte)WRITE_COIL_REG; // Command + result[i++] = (byte)(WriteAddr >> 8); // Register Address MSB + result[i++] = (byte)(WriteAddr >> 0); // Register Address LSB + result[i++] = (byte)(1 >> 8); // Count of Register MSB + result[i++] = (byte)(1 >> 0); // Count of Register LSB + result[i++] = (byte)(1 * 1); // Byte Count - [2 * (Num of register)] + + result[i++] = (byte)(WriteData >> 0); + + crc = GetCRC(result, i); + + result[i++] = crc[1]; // CRCH + result[i++] = crc[0]; // CRCL + + return result; + } + + static public byte[] MakeWriteRegisterData(ushort DevID, ushort WriteAddr, short[] WriteData) + { + byte[] result = new byte[9 + (WriteData.Length * 2)]; + byte[] crc; + ushort i = 0; + + result[i++] = (byte)DevID; // Device ID + result[i++] = (byte)PRESET_MULTI_REG; // Command + result[i++] = (byte)(WriteAddr >> 8); // Register Address MSB + result[i++] = (byte)(WriteAddr >> 0); // Register Address LSB + result[i++] = (byte)(WriteData.Length >> 8); // Count of Register MSB + result[i++] = (byte)(WriteData.Length >> 0); // Count of Register LSB + result[i++] = (byte)(WriteData.Length * 2); // Byte Count - [2 * (Num of register)] + + for (int j = 0; j < WriteData.Length; j++) + { + result[i++] = (byte)(WriteData[j] >> 8); + result[i++] = (byte)(WriteData[j] >> 0); + } + + crc = GetCRC(result, i); + + result[i++] = crc[1]; // CRCH + result[i++] = crc[0]; // CRCL + + return result; + } + + static short GetRegister(ushort reg_addr, ref DeviceParamData aParam) + { + short result = 0; + + switch (reg_addr) + { + //case 19: result = (short)(0 >> 16); break; // 0021 : UTC TimeStamp MSB + //case 20: result = (short)(58 >> 0); break; // 0022 : UTC TimeStamp LSB + //case 21: result = (short)0x1000; break; // 0023 : Cell Balancing Flag + //case 22: result = (short)0x0000; break; // 0024 : Cell Balancing Voltage + //case 23: result = (short)15; break; // 0024 : Cell Balancing Time + + case 0x4002: result = (short)aParam.CellUnderVoltageWarning; break; // 0061 : Low cell voltage warning data + //case 33: result = (short)param.sf1.voltage.CUV_Threshold; break; // 0062 : Low cell voltage protection data + //case 34: result = (short)param.sf1.voltage.CUV_Recovery; break; // 0063 : Low cell voltage recovery data + //case 35: result = (short)param.sf1.voltage.SUV_Warning; break; // 0064 : Low voltage warning data + //case 36: result = (short)param.sf1.voltage.SUV_Threshold; break; // 0065 : Low voltage protection data + //case 37: result = (short)param.sf1.voltage.SUV_Recovery; break; // 0066 : Low voltage recovery data + //case 38: result = (short)param.sf1.voltage.COV_Warning; break; // 0067 : Over cell voltage warning data + //case 39: result = (short)param.sf1.voltage.COV_Threshold; break; // 0068 : Over cell voltage protection data + //case 40: result = (short)param.sf1.voltage.COV_Recovery; break; // 0069 : Over cell voltage recovery data + //case 41: result = (short)param.sf1.voltage.SOV_Warning; break; // 0070 : Over voltage warning data + //case 42: result = (short)param.sf1.voltage.SOV_Threshold; break; // 0071 : Over voltage protection data + //case 43: result = (short)param.sf1.voltage.SOV_Recovery; break; // 0072 : Over voltage recovery data + + //case 44: result = (short)param.sf1.temperature.OT_Chg_Warning; break; // 0044 : Charge over temperature warning data + //case 45: result = (short)param.sf1.temperature.OT_Chg_Threshold; break; // 0045 : Charge over temperature protection data + //case 46: result = (short)param.sf1.temperature.OT_Chg_Recovery; break; // 0046 : Charge over temperature recovery data + //case 47: result = (short)param.sf1.temperature.OT_Chg_Time; break; // 0047 : Charge over temperature time + + //case 48: result = (short)param.sf1.temperature.OT_Dsg_Warning; break; // 0048 : Discharge over temperature warning data + //case 49: result = (short)param.sf1.temperature.OT_Dsg_Threshold; break; // 0049 : Discharge over temperature protection data + //case 50: result = (short)param.sf1.temperature.OT_Dsg_Recovery; break; // 0050 : Discharge over temperature recovery data + //case 51: result = (short)param.sf1.temperature.OT_Dsg_Time; break; // 0051 : Discharge over temperature time + } + + return result; + } + + static byte[] ModBusGetRegWordToBytes(ushort addr, ref DeviceParamData aParam) + { + short data; + byte[] result = new byte[2]; + + data = GetRegister(addr, ref aParam); + + result[0] = (byte)(data >> 8); + result[1] = (byte)(data >> 0); + + return result; + } + + static public byte[] MakeWriteRegisterData(ushort DevID, ushort WriteAddr, ushort reg_len, ref DeviceParamData aParam) + { + int tlen = (reg_len * 2) + 7 + 2; + byte[] result = new byte[tlen]; + byte[] tmp; + byte[] crc; + + result[0] = (byte)DevID; // Device ID + result[1] = (byte)PRESET_MULTI_REG; // Command + result[2] = (byte)(WriteAddr >> 8); // Register Address MSB + result[3] = (byte)(WriteAddr >> 0); // Register Address LSB + result[4] = (byte)(reg_len >> 8); // Count of Register MSB + result[5] = (byte)(reg_len >> 0); // Count of Register LSB + result[6] = (byte)(reg_len * 2); ; // Current Value MSB + + for (int i = 0; i < reg_len; i++) + { + tmp = ModBusGetRegWordToBytes((ushort)(WriteAddr + i),ref aParam); + result[7 + (i * 2) + 0] = tmp[0]; + result[7 + (i * 2) + 1] = tmp[1]; + } + crc = GetCRC(result, 8); + + result[tlen - 2] = crc[0]; // CRCH + result[tlen - 1] = crc[1]; // CRCL + + return result; + } + + public static byte[] MakeCheckSum(byte[] sData, int offset, int len, bool flag) + { + byte[] result = new byte[2]; + int checksum = 0; + + for (int i = 0; i < len; i++) + { + checksum += sData[i + offset]; + } + + checksum = ~checksum + 1; + + result[0] = (byte)(checksum >> 8); + result[1] = (byte)checksum; + + return result; + } + + private static byte[] MakeTxPacket(byte[] sData, int len) + { + string str = ""; + byte[] result; + char[] chrArray; + int checksum = 0; + string checksumStr = ""; + char[] checksumChr; + + str = "~"; + + for (int i = 0; i < len; i++) + { + str += sData[i].ToString("X2"); + } + + str += "\r"; + + chrArray = str.ToCharArray(); + + for (int i = 0; i < (chrArray.Length - 6); i++) + { + checksum += chrArray[i + 1]; + } + + checksum = ~checksum + 1; + + checksumStr = String.Format("{0:X2}{1:X2}", (byte)(checksum >> 8), (byte)checksum); + checksumChr = checksumStr.ToCharArray(); + + for (int i = 0; i < 4; i++) + { + chrArray[chrArray.Length - 5 + i] = checksumChr[i]; + } + + result = new byte[chrArray.Length]; + + for (int i = 0; i < chrArray.Length; i++) + { + result[i] = (byte)chrArray[i]; + } + + return result; + } + + public static byte[] LengthLchk(int sLen) + { + byte[] result = new byte[2]; + int lchksum = 0; + + lchksum = (~(((sLen >> 8) & 0xF) + + ((sLen >> 4) & 0xF) + + ((sLen >> 0) & 0xF)) + 1) % 16; + lchksum = ((lchksum << 12) | sLen); + + result[0] = (byte)(lchksum >> 8); + result[1] = (byte)(lchksum >> 0); + + return result; + } + + public static byte[] MakeTxData(byte addr, byte cmd, int sLen) + { + int buffCh = 0; + byte[] sData; + byte[] lenId; + byte[] checksum; + + sData = new byte[((sLen > 0) ? 11 : 10)]; + + sData[buffCh] = 0x7E; buffCh++; // SOI + sData[buffCh] = 0x25; buffCh++; // VER + sData[buffCh] = addr; buffCh++; // ADDR + sData[buffCh] = 0x46; buffCh++; // CID1 + sData[buffCh] = cmd; buffCh++; // CID2 (CMD) + + lenId = LengthLchk(sLen); // LENID + sData[buffCh] = lenId[0]; buffCh++; // LENID MSB + sData[buffCh] = lenId[1]; buffCh++; // LENID LSB + + if (sLen > 0) + { + sData[buffCh] = (byte)(sLen / 2); buffCh++; // INFO + } + + checksum = csSerialCommFunction.MakeCheckSum(sData, 1, sData.Length - 4, false); + + sData[buffCh] = checksum[1]; buffCh++; + sData[buffCh] = checksum[0]; buffCh++; + + sData[buffCh] = 0x0D; buffCh++; // EOI + + return MakeTxPacket(sData, sData.Length); + } + + public static int TbPacketCheck(byte[] rdata, int rlen) + { + int result = 0; + byte[] cdata; + byte[] checksum; + byte[] checksum1; + + checksum = MakeCheckSum(rdata, 1, rlen - 6, false); + + checksum1 = new byte[2]; + checksum1[0] = csUtils.StrByte2toByte(rdata[rlen - 4], rdata[rlen - 5]); + checksum1[1] = csUtils.StrByte2toByte(rdata[rlen - 2], rdata[rlen - 3]); + + + if ((checksum[0] == checksum1[0]) && (checksum[1] == checksum1[1])) + { + cdata = csUtils.StrToByteArray(rdata, 0, rlen); + + result = 1; + } + + return result; + } + + static public int ModbusPacketFromSlaveCheck(byte[] rdata, ushort rlen) + { + int result = 0; + byte[] cdata, crc; + ushort clen, bytecount; + + if (rlen > 2) + { + cdata = rdata; + + switch (cdata[1]) + { + case READ_COIL_STATUS: + case READ_HOLDING_REG: + case READ_INPUT_REG: + bytecount = cdata[2]; + clen = (ushort)(bytecount + 5); // header 3, tail 2 + if (rlen >= clen) + { + crc = GetCRC(cdata, (ushort)(rlen - 2)); + if ((crc[1] == cdata[rlen - 2]) && (crc[0] == cdata[rlen - 1])) result = 1; + else result = -1; + } + break; + case PRESET_MULTI_REG: + case FORCE_SINGLE_COIL: + case PRESET_SINGLE_REG: + clen = 8; + if (rlen >= clen) + { + crc = GetCRC(cdata, (ushort)(rlen - 2)); + if ((crc[0] == cdata[rlen - 1]) && (crc[1] == cdata[rlen - 2])) result = 1; + else result = -1; + } + break; + case ERROR_REG: + clen = 6; + if (rlen >= clen) + { + crc = GetCRC(cdata, (ushort)(rlen - 2)); + if ((crc[0] == cdata[rlen - 1]) && (crc[1] == cdata[rlen - 2])) result = 1; + else result = -1; + } + break; + case FW_FLASH_ERASE_CMD: + clen = 5; + if (rlen >= clen) + { + crc = GetCRC(cdata, (ushort)(rlen - 2)); + if ((crc[0] == cdata[rlen - 1]) && (crc[1] == cdata[rlen - 2])) result = 2; + else result = -1; + } + break; + case FW_FLASH_WRITE_CMD: + clen = 5; + if (rlen >= clen) + { + crc = GetCRC(cdata, (ushort)(rlen - 2)); + if ((crc[0] == cdata[rlen - 1]) && (crc[1] == cdata[rlen - 2])) result = 2; + else result = -1; + } + break; + + default: + result = -1; + break; + } + } + return result; + } + + public static short[] SerialRxProcess(byte[] rData, ushort rRegAddr, ushort rLen, ref CsDeviceData.DeviceModuleData aModuleData) + { + short[] result = new short[2]; + + switch (rData[1]) + { + case READ_COIL_STATUS: + ReadCoilRegisterProcess(rData, rRegAddr, rLen, ref aModuleData); + break; + case READ_HOLDING_REG: + ReadHoldRegisterProcess(rData, rRegAddr, rLen, ref aModuleData); + break; + case READ_INPUT_REG: + ReadInputRegisterProcess(rData, rRegAddr, rLen, ref aModuleData); + break; + //case READ_INPUT_REG: + // ReadRegister(rData, rRegAddr, rLen, ref rSystemData); + // break; + case PRESET_MULTI_REG: + // read_holding_reg_process(reverse16(rsp->start_addr, true), reverse16(rsp->qty_reg, true)); + //result[0] = 1; + //result[1] = 1; + break; + case ERROR_REG: + result[0] = 2; + result[1] = (short)((rData[0] << 8) | rData[1]); + break; + } + + return result; + } + + private static void ReadCoilRegisterProcess(byte[] rData, ushort rRegAddr, ushort rLen, ref CsDeviceData.DeviceModuleData aModuleData) + { + // 기본 유효성 검사 + if (rData == null || rData.Length < 3) + { + // TODO: 로그/에러 처리 - 응답 길이 부족(DevID, Func, ByteCount 최소 필요) + return; + } + + int i = 2; // rData[0]=DevID, rData[1]=Func(0x01), rData[2]=ByteCount + int byteCount = rData[i++]; + + if (byteCount < 0) // byte → int 승격 시 의미 없지만 방어적 체크 + { + // TODO: 로그/에러 처리 - ByteCount 음수 + return; + } + + // 바이트 카운트만큼의 데이터가 실제로 존재하는지 확인 + if (rData.Length < i + byteCount) + { + // TODO: 로그/에러 처리 - 실제 데이터가 ByteCount보다 짧음 + return; + } + + // 파싱할 수 있는 최대 코일 수와 요청한 코일 수 중 작은 쪽으로 제한 + int coilsAvailable = byteCount * 8; + int coilsToParse = Math.Min(coilsAvailable, rLen); + + if (coilsToParse <= 0) + { + // TODO: 로그/에러 처리 - 파싱할 코일 없음 + return; + } + + // Modbus Coils는 LSB-first: 각 바이트의 bit0이 가장 먼저 오는 코일 상태 + for (int bit = 0; bit < coilsToParse; bit++) + { + int byteIndex = i + (bit / 8); + int bitPos = bit % 8; + + // 방어적 인덱스 검사 (이론상 위의 길이검사로 안전하지만 이중 방어) + if (byteIndex < 0 || byteIndex >= rData.Length) + { + // TODO: 로그/에러 처리 - 계산된 인덱스가 범위를 벗어남 + break; + } + + int val = (rData[byteIndex] >> bitPos) & 0x01; + + try + { + SetCoilRegister((short)(rRegAddr + bit), (short)val, ref aModuleData); + } + catch + { + // TODO: 로그/에러 처리 - 개별 레지스터 반영 실패(계속 진행) + } + } + } + + private static void ReadHoldRegisterProcess(byte[] rData, ushort rRegAddr, ushort rLen, ref CsDeviceData.DeviceModuleData aModuleData) + { + int i, j; + short reg_count; + short reg_value; + i = 2; + reg_count = (short)(rData[i] / 2); i += 1; + + for (j = 0; j < reg_count; j++) + { + reg_value = (short)(rData[i] << 8 | rData[i + 1]); + SetHoldRegister((short)(rRegAddr + j), reg_value, ref aModuleData); + i += 2; + } + } + + private static void ReadInputRegisterProcess(byte[] rData, ushort rRegAddr, ushort rLen, ref CsDeviceData.DeviceModuleData aModuleData) + { + int i, j; + short reg_count; + short reg_value; + i = 2; + reg_count = (short)(rData[i] / 2); i += 1; + + for (j = 0; j < reg_count; j++) + { + reg_value = (short)(rData[i] << 8 | rData[i + 1]); + SetInputRegister((short)(rRegAddr + j), reg_value, ref aModuleData); + i += 2; + } + } + + private static void SetInputRegister(short reg_addr, short reg_value, ref CsDeviceData.DeviceModuleData aModuleData) + { + switch (reg_addr) + { + case 1: MakeMaxAvgMinCellVoltage(ref aModuleData); break; + case 2: MakeMaxAvgMinTemperature(ref aModuleData); break; + case 45: break; + } + } + + private static void SetCoilRegister(short reg_addr, short reg_value, ref CsDeviceData.DeviceModuleData aModuleData) + { + switch (reg_addr) + { + case 0x3078: + aModuleData.StatusData.relayStatus = (ushort)reg_value; + aModuleData.CalibrationData.FetCalib.FetStatus = reg_value; + break; + case 0x502E: + aModuleData.CalibrationData.Current.ChargeOption = reg_value; + break; + } + } + + private static void SetHoldRegister(short reg_addr, short reg_value, ref CsDeviceData.DeviceModuleData aModuleData) + { + uint temp = 0; + switch (reg_addr) + { + case 0: aModuleData.ValueData.voltage = (short)(reg_value / 10); break; //Total Voltage + case 1: aModuleData.ValueData.current = (short)(reg_value / 10); break; //Total Current + case 2: // Cell Voltage #1 + case 3: // Cell Voltage #2 + case 4: // Cell Voltage #3 + case 5: // Cell Voltage #4 + case 6: // Cell Voltage #5 + case 7: // Cell Voltage #6 + case 8: // Cell Voltage #7 + case 9: // Cell Voltage #8' + case 10: // Cell Voltage #9 + case 11: // Cell Voltage #10 + case 12: // Cell Voltage #11 + case 13: // Cell Voltage #12 + case 14: // Cell Voltage #13 + case 15: // Cell Voltage #14 + case 16: // Cell Voltage #15 + aModuleData.ValueData.CellVoltage[reg_addr - 2] = (ushort)(reg_value / 1); + MakeMaxAvgMinCellVoltage(ref aModuleData); + break; // 15 CellVoltage 1mV + case 17: break; // Cell Voltage #16 - Reserved + case 18: aModuleData.ValueData.MosTemperature = (short)((reg_value) * 10); break; //Ext1 Temperature (Temp of MOS-FET) + case 19: aModuleData.ValueData.AmbTemperature = (short)((reg_value) * 10); break; //Ext2 Amb. PCB Temperature 1C + case 20: break; // Temp Max. + case 21: aModuleData.ValueData.remainingCapacity = (short)(reg_value / 1); break; // Remaining Capacity + case 22: aModuleData.ValueData.MaxBattChgCurr = reg_value / 1; break; + case 23: aModuleData.ValueData.SOH = (short)(reg_value * 10); break; + case 24: aModuleData.ValueData.SOC = (short)(reg_value * 10); break; //SOC + case 25: aModuleData.StatusData.status = (ushort)reg_value; break; //Operating Status + case 26: + aModuleData.StatusData.warning = (ushort)reg_value; + if ((aModuleData.StatusData.specialAlarm & 0x0004) != 0) + aModuleData.StatusData.warning |= 0x4000; + else + aModuleData.StatusData.warning &= 0xBFFF; + break; //Warning Status + case 27: aModuleData.StatusData.protect = (ushort)reg_value; break; //Protection Status + case 28: // Error Code + // 0x0001:Voltage error + // 0x0002:Temperature error + // 0x0004: Current Check Error + // 0x0010:Cell unbalance + break; + case 29: // Cycle count MSB + temp = aModuleData.ValueData.cycleCount; + aModuleData.ValueData.cycleCount = (temp & (0x0000FFFF)) | ((uint)reg_value << 16); + break; + case 30: // Cycle count LSB + temp = aModuleData.ValueData.cycleCount; + aModuleData.ValueData.cycleCount = (temp & (0xFFFF0000)) | ((uint)reg_value << 0); + break; + case 31: // fullChargeCapacity MSB + temp = aModuleData.ValueData.fullChgCapacity_Ah; + aModuleData.ValueData.fullChgCapacity_Ah = (temp & (0x0000FFFF)) | ((uint)reg_value << 16); + break; + case 32: // fullChargeCapacity LSB + temp = aModuleData.ValueData.fullChgCapacity_Ah; + aModuleData.ValueData.fullChgCapacity_Ah = (temp & (0xFFFF0000)) | ((uint)reg_value << 0); + break; + case 33: + case 34: + aModuleData.ValueData.CellTemperature[((reg_addr - 33) * 2) + 0] = (short)(((reg_value >> 8) & 0xFF) * 10); + aModuleData.ValueData.CellTemperature[((reg_addr - 33) * 2) + 1] = (short)(((reg_value >> 0) & 0xFF) * 10); + MakeMaxAvgMinTemperature(ref aModuleData); + break; + case 35: break; // Reserved + case 36: aModuleData.cellQty = reg_value; break; // Cell Qty + case 37: aModuleData.ValueData.designedCapacity = reg_value; break; + case 38: aModuleData.StatusData.cellBallanceStatus = (ushort)reg_value; break; + + case 39: aModuleData.StatusData.specialAlarm = (ushort)(reg_value); break; // Special Alarm + + //case 61: aModuleData.StatusData.cellBallanceStatus = reg_value; break; + //45 ~ 99 : Reserved + case 45: aModuleData.BmsDateTimeShort1 = (ushort)reg_value; break; // DateTime + case 46: aModuleData.BmsDateTimeShort2 = (ushort)reg_value; + int yy, MM, dd, HH, mm, ss; + aModuleData.BmsDateTimeInt = (aModuleData.BmsDateTimeShort1 << 16) | (aModuleData.BmsDateTimeShort2); + yy = (aModuleData.BmsDateTimeInt >> 26) & 0x003F; + MM = ((aModuleData.BmsDateTimeInt >> 22) & 0x000F) % 13; + dd = ((aModuleData.BmsDateTimeInt >> 17) & 0x001F) % 32; + HH = ((aModuleData.BmsDateTimeInt >> 12) & 0x001F) % 24; + mm = ((aModuleData.BmsDateTimeInt >> 6) & 0x003F) % 60; + ss = ((aModuleData.BmsDateTimeInt >> 0) & 0x003F) % 60; + yy += 2000; + + aModuleData.BmsDateTime.DateTimeStr = string.Format("{0:0000}-{1:00}-{2:00} {3:00}:{4:00}:{5:00}" + , yy + , MM + , dd + , HH + , mm + , ss + ); + break; // DateTime + + case 47: aModuleData.CalibrationData.ChaMode.Mode = reg_value; break; // 0x2F + case 48: aModuleData.CalibrationData.ChaMode.Value = reg_value; break; // 0x2F + + //case 56: aModuleData.CalibrationData.BalCalib.Volt = reg_value; break; // Cell Balance Voltage + //case 57: aModuleData.CalibrationData.BalCalib.Diff = reg_value; break; // Cell Balance Diff + + case 58: aModuleData.ParamData.LowSocWarning = reg_value; break; + + case 61: aModuleData.ParamData.CellUnderVoltageWarning = reg_value; break; + case 62: aModuleData.ParamData.CellUnderVoltageTrip = reg_value; break; + case 63: aModuleData.ParamData.CellUnderVoltageRelease = reg_value; break; + case 64: aModuleData.ParamData.SysUnderVoltageWarning = (short)(reg_value / 10); break; + case 65: aModuleData.ParamData.SysUnderVoltageTrip = (short)(reg_value / 10); break; + case 66: aModuleData.ParamData.SysUnderVoltageRelease = (short)(reg_value / 10); break; + case 67: aModuleData.ParamData.CellOverVoltageWarning = reg_value; break; + case 68: aModuleData.ParamData.CellOverVoltageTrip = reg_value; break; + case 69: aModuleData.ParamData.CellOverVoltageRelease = reg_value; break; + case 70: aModuleData.ParamData.SysOverVoltageWarning = (short)(reg_value / 10); break; + case 71: aModuleData.ParamData.SysOverVoltageTrip = (short)(reg_value / 10); break; + case 72: aModuleData.ParamData.SysOverVoltageRelease = (short)(reg_value / 10); break; + + case 76: aModuleData.ParamData.ChaOverCurrentTimes = (short)(reg_value / 1); break; + case 77: aModuleData.ParamData.DchOverCurrentTimes = (short)(reg_value / 1); break; + case 78: aModuleData.ParamData.ChaOverCurrentReleaseTime = (short)(reg_value * 1); break; + case 79: aModuleData.ParamData.DchOverCurrentReleaseTime = (short)(reg_value * 1); break; + case 80: aModuleData.ParamData.ChaOverCurrentTrip1 = (short)(reg_value / 10); break; + case 81: aModuleData.ParamData.DchOverCurrentTrip1 = (short)(reg_value / 10); break; + case 82: aModuleData.ParamData.ShortCircuit = (short)(reg_value / 10); break; // Short Circuit Current = 300A + case 83: aModuleData.ParamData.ChaOverCurrentTrip2 = (short)(reg_value / 10); break; + case 84: aModuleData.ParamData.DchOverCurrentTrip2 = (short)(reg_value / 10); break; + case 85: aModuleData.ParamData.ChaOverCurrentDelay1 = (short)(reg_value / 1); break; + case 86: aModuleData.ParamData.ChaOverCurrentDelay2 = (short)(reg_value / 1); break; + case 87: aModuleData.ParamData.DchOverCurrentDelay1 = (short)(reg_value / 1); break; + case 88: aModuleData.ParamData.DchOverCurrentDelay2 = (short)(reg_value / 1); break; + + case 90: aModuleData.ParamData.ChaLowTempWarning = (short)(reg_value - 50); break; + case 91: aModuleData.ParamData.ChaLowTempTrip = (short)(reg_value - 50); break; + case 92: aModuleData.ParamData.ChaLowTempRelease = (short)(reg_value - 50); break; + case 93: aModuleData.ParamData.ChaHighTempWarning = (short)(reg_value - 50); break; + case 94: aModuleData.ParamData.ChaHighTempTrip = (short)(reg_value - 50); break; + case 95: aModuleData.ParamData.ChaHighTempRelease = (short)(reg_value - 50); break; + case 96: aModuleData.ParamData.DchLowTempWarning = (short)(reg_value - 50); break; + case 97: aModuleData.ParamData.DchLowTempTrip = (short)(reg_value - 50); break; + case 98: aModuleData.ParamData.DchLowTempRelease = (short)(reg_value - 50); break; + case 99: aModuleData.ParamData.DchHighTempWarning = (short)(reg_value - 50); break; + case 100: aModuleData.ParamData.DchHighTempTrip = (short)(reg_value - 50); break; + case 101: aModuleData.ParamData.DchHighTempRelease = (short)(reg_value - 50); break; + + case 102: break; // PCB High Temp Warning + case 103: break; // PCB High Temp Trip + case 104: break; // PCB High Temp Release + //100 ~111 : Model_Product Name + case 105: + case 106: + case 107: + case 108: + case 109: + case 110: + case 111: + case 112: + case 113: + case 114: + case 115: + case 116: + int mReg = reg_addr - 105; + aModuleData.Information.Model_Byte[(mReg * 2) + 0] = (byte)(reg_value >> 8); + aModuleData.Information.Model_Byte[(mReg * 2) + 1] = (byte)(reg_value >> 0); + if (reg_addr == 116) + { + aModuleData.Information.ModelName = Encoding.Default.GetString(aModuleData.Information.Model_Byte).Trim('\0'); + } + break; + + //112 ~114 : FW Version + case 117: + case 118: + case 119: + int fReg = reg_addr - 117; + aModuleData.Information.FwVer_Byte[(fReg * 2) + 0] = (byte)(reg_value >> 8); + aModuleData.Information.FwVer_Byte[(fReg * 2) + 1] = (byte)(reg_value >> 0); + if (reg_addr == 119) + { + aModuleData.Information.SwProductRev = Encoding.Default.GetString(aModuleData.Information.FwVer_Byte).Trim('\0'); + } + break; + //115 ~ 122 : BMS Serial number + case 120: + case 121: + case 122: + case 123: + case 124: + case 125: + case 126: + case 127: + int snReg = reg_addr - 120; + aModuleData.Information.BMS_SN[(snReg * 2) + 0] = (byte)(reg_value >> 8); + aModuleData.Information.BMS_SN[(snReg * 2) + 1] = (byte)(reg_value >> 0); + if (reg_addr == 127) + { + aModuleData.Information.HwSerialNumber = Encoding.Default.GetString(aModuleData.Information.BMS_SN).Trim('\0'); + } + break; + + case 130: aModuleData.ParamData.EnvLowTempWarning = (short)(reg_value - 50); break; + case 131: aModuleData.ParamData.EnvLowTempTrip = (short)(reg_value - 50); break; + case 132: aModuleData.ParamData.EnvLowTempRelease = (short)(reg_value - 50); break; + case 133: aModuleData.ParamData.EnvHighTempWarning = (short)(reg_value - 50); break; + case 134: aModuleData.ParamData.EnvHighTempTrip = (short)(reg_value - 50); break; + case 135: aModuleData.ParamData.EnvHighTempRelease = (short)(reg_value - 50); break; + + case 136: // Anti-Theft Communication + aModuleData.CalibrationData.AntiTheft.Comm = reg_value; + break; + case 137: // Anti-Theft Gyro-Scope + aModuleData.CalibrationData.AntiTheft.GyroScope = reg_value; + break; + case 163: // 0xA3 + case 164: // 0xA4 + case 165: // 0xA5 + case 166: // 0xA6 + int ManuDateReg = reg_addr - 163; + aModuleData.Information.ManuDate_Byte[(ManuDateReg * 2) + 0] = (byte)(reg_value >> 8); + aModuleData.Information.ManuDate_Byte[(ManuDateReg * 2) + 1] = (byte)(reg_value >> 0); + if (reg_addr == 166) + { + aModuleData.Information.ManufacturingDate = Encoding.Default.GetString(aModuleData.Information.ManuDate_Byte).Trim('\0'); + } + break; + } + csMakeDataFunction.MakeAlarm(ref aModuleData); + } + + public static void MakeMaxAvgMinCellVoltage(ref CsDeviceData.DeviceModuleData aModuleData) + { + int Max, Avg, Min, Sum; + int MaxNo, MinNo; + + Max = Avg = Min = Sum = 0; + MaxNo = MinNo = 0; + for (int i = 0; i < csConstData.SystemInfo.MAX_MODULE_CELL_SIZE; i++) + { + if (i == 0) + { + Max = Min = aModuleData.ValueData.CellVoltage[i]; + } + Sum += aModuleData.ValueData.CellVoltage[i]; + + if (Max < aModuleData.ValueData.CellVoltage[i]) + { + Max = aModuleData.ValueData.CellVoltage[i]; + MaxNo = i; + } + if (Min > aModuleData.ValueData.CellVoltage[i]) + { + Min = aModuleData.ValueData.CellVoltage[i]; + MinNo = i; + } + } + Avg = Sum / csConstData.SystemInfo.MAX_MODULE_CELL_SIZE; + + aModuleData.AvgData.avgCellVoltage = (short)Avg; + aModuleData.AvgData.maxCellVoltage = (short)Max; + aModuleData.AvgData.maxCellNum = (short)(MaxNo + 1); + aModuleData.AvgData.minCellVoltage = (short)Min; + aModuleData.AvgData.minCellNum = (short)(MinNo + 1); + aModuleData.AvgData.diffCellVoltage = (short)(Max - Min); + } + + private static void MakeMaxAvgMinTemperature(ref CsDeviceData.DeviceModuleData aModuleData) + { + int Max, Avg, Min, Sum; + int MaxNo, MinNo; + + Max = Avg = Min = Sum = 0; + MaxNo = MinNo = 0; + //for (int i = 0; i < csConstData.SystemInfo.MAX_MODULE_TEMP_SIZE; i++) + for (int i = 0; i < 4; i++) + { + if (i == 0) + { + Max = Min = aModuleData.ValueData.CellTemperature[i]; + } + Sum += aModuleData.ValueData.CellTemperature[i]; + + if (Max < aModuleData.ValueData.CellTemperature[i]) + { + Max = aModuleData.ValueData.CellTemperature[i]; + MaxNo = i; + } + if (Min > aModuleData.ValueData.CellTemperature[i]) + { + Min = aModuleData.ValueData.CellTemperature[i]; + MinNo = i; + } + } + //Avg = Sum / csConstData.SystemInfo.MAX_MODULE_TEMP_SIZE; + Avg = Sum / 4; + + aModuleData.AvgData.avgTemp = (short)Avg; + aModuleData.AvgData.maxTemp = (short)Max; + aModuleData.AvgData.maxTempNum = (short)(MaxNo + 1); + aModuleData.AvgData.minTemp = (short)Min; + aModuleData.AvgData.minTempNum = (short)(MinNo + 1); + aModuleData.AvgData.diffTemp = (short)(Max - Min); + } + + public static short MakeUartWarningData(short rdata) + { + short result = 0; + bool[] bAlarm = csUtils.Int16ToBitArray(rdata); + + if (bAlarm[0] == true) result |= (short)(1 << 2); // 0x0001:Pack OV + if (bAlarm[1] == true) result |= (short)(1 << 4); // 0x0002:Cell OV + if (bAlarm[2] == true) result |= (short)(1 << 3); // 0x0004:Pack UV + if (bAlarm[3] == true) result |= (short)(1 << 5); // 0x0008:Cell UV + + if (bAlarm[4] == true) result |= (short)(1 << 6); // 0x0010:Charging OC + if (bAlarm[5] == true) result |= (short)(1 << 7); // 0x0020:Discharging OC + + if (bAlarm[8] == true) result |= (short)(1 << 0); // 0x0080: Charging Over Tempratuer + if (bAlarm[9] == true) result |= (short)(1 << 0); // 0x0080: Discharging Over Tempratuer + if (bAlarm[10] == true) result |= (short)(1 << 1); // 0x0040: Charging Under Tempratuer + if (bAlarm[11] == true) result |= (short)(1 << 1); // 0x0040: Discharging Under Tempratuer + if (bAlarm[12] == true) result |= (short)(1 << 11); // 0x0200:SOC Low + + return result; + } + + public static short MakeUartTripData(short rdata) + { + short result = 0; + bool[] bAlarm = csUtils.Int16ToBitArray(rdata); + + if (bAlarm[0] == true) result |= (short)(1 << 2); // 0x0001:Pack OV + if (bAlarm[1] == true) result |= (short)(1 << 4); // 0x0002:Cell OV + if (bAlarm[2] == true) result |= (short)(1 << 3); // 0x0004:Pack UV + if (bAlarm[3] == true) result |= (short)(1 << 5); // 0x0008:Cell UV + + if (bAlarm[4] == true) result |= (short)(1 << 6); // 0x0010:Charging OC + if (bAlarm[5] == true) result |= (short)(1 << 7); // 0x0020:Discharging OC + + if (bAlarm[8] == true) result |= (short)(1 << 0); // 0x0080: Charging Over Tempratuer + if (bAlarm[9] == true) result |= (short)(1 << 0); // 0x0080: Discharging Over Tempratuer + if (bAlarm[10] == true) result |= (short)(1 << 1); // 0x0040: Charging Under Tempratuer + if (bAlarm[11] == true) result |= (short)(1 << 1); // 0x0040: Discharging Under Tempratuer + if (bAlarm[13] == true) result |= (short)(1 << 9); // 0x0200:Short Circuit Protection + + return result; + } + + private static short MakeUartErrorData(short rdata, short cdata) + { + short result = cdata; + bool[] bAlarm = csUtils.Int16ToBitArray(rdata); + + if (bAlarm[0] == true) result |= (short)(1 << 9); // 0x0001:Voltage error + if (bAlarm[1] == true) result |= (short)(1 << 9); // 0x0002:Temperature error + if (bAlarm[2] == true) result |= (short)(1 << 9); // 0x0004: 电流检测Error + if (bAlarm[3] == true) result |= (short)(1 << 9); // 0x0010:Cell unbalance + + return result; + } + } +} diff --git a/LFP_Manager/LFP_Manager.zip b/LFP_Manager/LFP_Manager.zip new file mode 100644 index 0000000..f2f4fc4 Binary files /dev/null and b/LFP_Manager/LFP_Manager.zip differ diff --git a/LFP_Manager/LFP_Manager_GL.csproj b/LFP_Manager/LFP_Manager_GL.csproj new file mode 100644 index 0000000..00d107c --- /dev/null +++ b/LFP_Manager/LFP_Manager_GL.csproj @@ -0,0 +1,530 @@ + + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {BE0785A4-0CCB-44C5-A8C0-1AA2245E71F4} + WinExe + Properties + LFP_Manager + LFP_Manager_GL + v4.5.2 + 512 + + + 3.5 + + + + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + true + x86 + false + + + pdbonly + false + bin\Release\ + DEBUG;TRACE + prompt + 4 + true + x86 + false + + + Resources\AMO_LOGO.ico + + + + + True + + + True + + + True + + + + + True + + + True + + + True + + + True + + + True + + + True + + + + + True + + + + True + + + True + + + True + + + True + + + True + + + + True + + + True + + + + True + + + + True + + + + + + ..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll + + + ..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll + + + dll\IPAddressControlLib.dll + + + dll\log4net.dll + + + False + dll\SnmpSharpNet.dll + + + + + + 3.5 + + + + ..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\lib\net451\System.Data.SQLite.dll + + + ..\packages\System.Data.SQLite.EF6.1.0.113.0\lib\net451\System.Data.SQLite.EF6.dll + + + ..\packages\System.Data.SQLite.Linq.1.0.113.0\lib\net451\System.Data.SQLite.Linq.dll + + + + + + + + + 3.5 + + + 3.5 + + + + + + + + dll\Tftp.Net.dll + + + + + UserControl + + + ucCalibration.cs + + + UserControl + + + ucCalibrationView.cs + + + UserControl + + + ucCommConfig.cs + + + UserControl + + + ucDataLog.cs + + + UserControl + + + ucEtcStatusView.cs + + + UserControl + + + ucEventLog.cs + + + UserControl + + + ucHistroy.cs + + + UserControl + + + ucMainStatus.cs + + + UserControl + + + ucModuleMainB.cs + + + UserControl + + + ucParamSet.cs + + + UserControl + + + ucShelfStatus.cs + + + UserControl + + + ucStatus.cs + + + UserControl + + + ucTargetControl.cs + + + UserControl + + + ucTftpClientcs.cs + + + UserControl + + + ucModuleMainA.cs + + + + + Form + + + fmxEtcStatus.cs + + + Form + + + fmxExcelFile.cs + + + Form + + + fmxFwImageConverter.cs + + + Form + + + fmxCalibration.cs + + + Form + + + fmxFwUpdate.cs + + + Form + + + fmxFwUpdateTftp.cs + + + Form + + + fmxHistory.cs + + + Form + + + fmxInventoryConfig.cs + + + Form + + + fmxModuleDetail.cs + + + Form + + + fmxParamConfig.cs + + + Form + + + fmxSystemSet.cs + + + Form + + + fmxWait.cs + + + + + + + + + + + + + + + + Form + + + fmxCommConfig.cs + + + Form + + + fmxMain.cs + + + + + + + + + + + + + + ucCalibration.cs + + + ucCalibrationView.cs + + + ucCommConfig.cs + + + ucDataLog.cs + + + ucEtcStatusView.cs + + + ucEventLog.cs + + + ucHistroy.cs + + + ucMainStatus.cs + + + ucModuleMainA.cs + + + ucModuleMainB.cs + + + ucParamSet.cs + + + ucShelfStatus.cs + + + ucStatus.cs + + + ucTargetControl.cs + + + ucTftpClientcs.cs + + + fmxEtcStatus.cs + + + fmxExcelFile.cs + + + fmxFwImageConverter.cs + + + fmxCalibration.cs + + + fmxCommConfig.cs + + + fmxFwUpdate.cs + + + fmxFwUpdateTftp.cs + + + fmxHistory.cs + + + fmxInventoryConfig.cs + + + fmxMain.cs + + + fmxModuleDetail.cs + + + fmxParamConfig.cs + + + fmxSystemSet.cs + + + fmxWait.cs + + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + + + + + + if not exist "$(TargetDir)\Library" mkdir "$(TargetDir)\Library" +if not exist "$(TargetDir)\Library\kerneldlls" mkdir "$(TargetDir)\Library\kerneldlls" +move "$(TargetDir)\*.dll" "$(TargetDir)\Library" +move "$(TargetDir)\*.pdb" "$(TargetDir)\Library" +move "$(TargetDir)\*.xml" "$(TargetDir)\Library" +copy "$(ProjectDir)\dll\*.dll" "$(TargetDir)\Library" +copy "$(ProjectDir)\dll\kerneldlls\*.*" "$(TargetDir)\Library\kerneldlls" + +if not exist "$(TargetDir)\sql" mkdir "$(TargetDir)\sql" +copy "$(ProjectDir)\DB Schema\*.sql" "$(TargetDir)\sql" + + + if exist "$(TargetDir)\library" rmdir /s /q "$(TargetDir)\library" +if exist "$(TargetDir)\sql" rmdir /s /q "$(TargetDir)\sql" + + + + 이 프로젝트는 이 컴퓨터에 없는 NuGet 패키지를 참조합니다. 해당 패키지를 다운로드하려면 NuGet 패키지 복원을 사용하십시오. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkID=322105를 참조하십시오. 누락된 파일은 {0}입니다. + + + + + + + + + \ No newline at end of file diff --git a/LFP_Manager/LFP_Manager_GL.csproj.bak b/LFP_Manager/LFP_Manager_GL.csproj.bak new file mode 100644 index 0000000..ea0297e --- /dev/null +++ b/LFP_Manager/LFP_Manager_GL.csproj.bak @@ -0,0 +1,526 @@ + + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {BE0785A4-0CCB-44C5-A8C0-1AA2245E71F4} + WinExe + Properties + LFP_Manager + LFP_Manager_GL + v4.5.2 + 512 + + + 3.5 + + + + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + true + x86 + false + + + pdbonly + false + bin\Release\ + DEBUG;TRACE + prompt + 4 + true + x86 + false + + + Resources\AMO_LOGO.ico + + + + + True + + + True + + + + + True + + + True + + + True + + + True + + + True + + + True + + + + + True + + + + True + + + True + + + True + + + True + + + True + + + + True + + + True + + + + True + + + + True + + + + + ..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll + + + ..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll + + + dll\IPAddressControlLib.dll + + + dll\log4net.dll + + + False + dll\SnmpSharpNet.dll + + + + + + 3.5 + + + + ..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\lib\net451\System.Data.SQLite.dll + + + ..\packages\System.Data.SQLite.EF6.1.0.113.0\lib\net451\System.Data.SQLite.EF6.dll + + + ..\packages\System.Data.SQLite.Linq.1.0.113.0\lib\net451\System.Data.SQLite.Linq.dll + + + + + + + + + 3.5 + + + 3.5 + + + + + + + + dll\Tftp.Net.dll + + + + + UserControl + + + ucCalibration.cs + + + UserControl + + + ucCalibrationView.cs + + + UserControl + + + ucCommConfig.cs + + + UserControl + + + ucDataLog.cs + + + UserControl + + + ucEtcStatusView.cs + + + UserControl + + + ucEventLog.cs + + + UserControl + + + ucHistroy.cs + + + UserControl + + + ucMainStatus.cs + + + UserControl + + + ucModuleMainB.cs + + + UserControl + + + ucParamSet.cs + + + UserControl + + + ucShelfStatus.cs + + + UserControl + + + ucStatus.cs + + + UserControl + + + ucTargetControl.cs + + + UserControl + + + ucTftpClientcs.cs + + + UserControl + + + ucModuleMainA.cs + + + + + Form + + + fmxEtcStatus.cs + + + Form + + + fmxExcelFile.cs + + + Form + + + fmxFwImageConverter.cs + + + Form + + + fmxCalibration.cs + + + Form + + + fmxFwUpdate.cs + + + Form + + + fmxFwUpdateTftp.cs + + + Form + + + fmxHistory.cs + + + Form + + + fmxInventoryConfig.cs + + + Form + + + fmxModuleDetail.cs + + + Form + + + fmxParamConfig.cs + + + Form + + + fmxSystemSet.cs + + + Form + + + fmxWait.cs + + + + + + + + + + + + + + + + Form + + + fmxCommConfig.cs + + + Form + + + fmxMain.cs + + + + + + + + + + + + + + ucCalibration.cs + + + ucCalibrationView.cs + + + ucCommConfig.cs + + + ucDataLog.cs + + + ucEtcStatusView.cs + + + ucEventLog.cs + + + ucHistroy.cs + + + ucMainStatus.cs + + + ucModuleMainA.cs + + + ucModuleMainB.cs + + + ucParamSet.cs + + + ucShelfStatus.cs + + + ucStatus.cs + + + ucTargetControl.cs + + + ucTftpClientcs.cs + + + fmxEtcStatus.cs + + + fmxExcelFile.cs + + + fmxFwImageConverter.cs + + + fmxCalibration.cs + + + fmxCommConfig.cs + + + fmxFwUpdate.cs + + + fmxFwUpdateTftp.cs + + + fmxHistory.cs + + + fmxInventoryConfig.cs + + + fmxMain.cs + + + fmxModuleDetail.cs + + + fmxParamConfig.cs + + + fmxSystemSet.cs + + + fmxWait.cs + + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + + + + + + if not exist "$(TargetDir)\Library" mkdir "$(TargetDir)\Library" +if not exist "$(TargetDir)\Library\kerneldlls" mkdir "$(TargetDir)\Library\kerneldlls" +move "$(TargetDir)\*.dll" "$(TargetDir)\Library" +move "$(TargetDir)\*.pdb" "$(TargetDir)\Library" +move "$(TargetDir)\*.xml" "$(TargetDir)\Library" +copy "$(ProjectDir)\dll\*.dll" "$(TargetDir)\Library" +copy "$(ProjectDir)\dll\kerneldlls\*.*" "$(TargetDir)\Library\kerneldlls" + +if not exist "$(TargetDir)\sql" mkdir "$(TargetDir)\sql" +copy "$(ProjectDir)\DB Schema\*.sql" "$(TargetDir)\sql" + + + if exist "$(TargetDir)\library" rmdir /s /q "$(TargetDir)\library" +if exist "$(TargetDir)\sql" rmdir /s /q "$(TargetDir)\sql" + + + + 이 프로젝트는 이 컴퓨터에 없는 NuGet 패키지를 참조합니다. 해당 패키지를 다운로드하려면 NuGet 패키지 복원을 사용하십시오. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkID=322105를 참조하십시오. 누락된 파일은 {0}입니다. + + + + + + + + + \ No newline at end of file diff --git a/LFP_Manager/LFP_Manager_JP.csproj.bak b/LFP_Manager/LFP_Manager_JP.csproj.bak new file mode 100644 index 0000000..ed92028 --- /dev/null +++ b/LFP_Manager/LFP_Manager_JP.csproj.bak @@ -0,0 +1,411 @@ + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {BE0785A4-0CCB-44C5-A8C0-1AA2245E71F4} + WinExe + Properties + LFP_Manager + LFP_Manager_JP + v4.5.2 + 512 + + + 3.5 + + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + true + x86 + false + + + pdbonly + false + bin\Release\ + DEBUG;TRACE + prompt + 4 + true + x86 + false + + + Resources\AMO_LOGO.ico + + + + True + + + True + + + True + + + True + + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + + True + + + + True + + + dll\IPAddressControlLib.dll + + + dll\log4net.dll + + + False + dll\SnmpSharpNet.dll + + + + + 3.5 + + + False + dll\System.Data.SQLite.dll + + + + + + 3.5 + + + 3.5 + + + + + + + + dll\Tftp.Net.dll + + + + + UserControl + + + ucCalibration.cs + + + UserControl + + + ucCommConfig.cs + + + UserControl + + + ucDataLog.cs + + + UserControl + + + ucEventLog.cs + + + UserControl + + + ucHistroy.cs + + + UserControl + + + ucMainStatus.cs + + + UserControl + + + ucParamSet.cs + + + UserControl + + + ucShelfStatus.cs + + + UserControl + + + ucStatus.cs + + + UserControl + + + ucTargetControl.cs + + + UserControl + + + ucTftpClientcs.cs + + + + + Form + + + fmxExcelFile.cs + + + Form + + + fmxFwImageConverter.cs + + + Form + + + fmxCalibration.cs + + + Form + + + fmxFwUpdate.cs + + + Form + + + fmxFwUpdateTftp.cs + + + Form + + + fmxHistorycs.cs + + + Form + + + fmxInventoryConfig.cs + + + Form + + + fmxParamConfig.cs + + + Form + + + fmxSystemSet.cs + + + Form + + + fmxWait.cs + + + + + + + + + + + + + + + + Form + + + fmxCommConfig.cs + + + Form + + + fmxMain.cs + + + + + + + + + + + + + ucCalibration.cs + + + ucCommConfig.cs + + + ucDataLog.cs + + + ucEventLog.cs + + + ucHistroy.cs + + + ucMainStatus.cs + + + ucParamSet.cs + + + ucShelfStatus.cs + + + ucStatus.cs + + + ucTargetControl.cs + + + ucTftpClientcs.cs + + + fmxExcelFile.cs + + + fmxFwImageConverter.cs + + + fmxCalibration.cs + + + fmxCommConfig.cs + + + fmxFwUpdate.cs + + + fmxFwUpdateTftp.cs + + + fmxHistorycs.cs + + + fmxInventoryConfig.cs + + + fmxMain.cs + + + fmxParamConfig.cs + + + fmxSystemSet.cs + + + fmxWait.cs + + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + + + + + if not exist "$(TargetDir)\Library" mkdir "$(TargetDir)\Library" +move "$(TargetDir)\*.dll" "$(TargetDir)\Library" +move "$(TargetDir)\*.pdb" "$(TargetDir)\Library" +move "$(TargetDir)\*.xml" "$(TargetDir)\Library" + + + if not exist "$(TargetDir)\sql" mkdir "$(TargetDir)\sql" +copy "$(ProjectDir)\DB Schema\*.sql" "$(TargetDir)\sql" + + + \ No newline at end of file diff --git a/LFP_Manager/LFP_Manager_M20.csproj.bak b/LFP_Manager/LFP_Manager_M20.csproj.bak new file mode 100644 index 0000000..4641307 --- /dev/null +++ b/LFP_Manager/LFP_Manager_M20.csproj.bak @@ -0,0 +1,508 @@ + + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {BE0785A4-0CCB-44C5-A8C0-1AA2245E71F4} + WinExe + Properties + LFP_Manager + LFP_Manager_M20 + v4.8 + 512 + + + 3.5 + + + + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + true + x86 + false + + + pdbonly + false + bin\Release\ + DEBUG;TRACE + prompt + 4 + true + x86 + false + + + Resources\AMO_LOGO.ico + + + + + True + + + True + + + + + True + + + True + + + True + + + True + + + True + + + True + + + + + True + + + + True + + + True + + + True + + + True + + + True + + + + True + + + True + + + + True + + + + True + + + + + ..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll + + + ..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll + + + dll\IPAddressControlLib.dll + + + dll\log4net.dll + + + False + dll\SnmpSharpNet.dll + + + + + + 3.5 + + + + ..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.113.3\lib\net451\System.Data.SQLite.dll + + + ..\packages\System.Data.SQLite.EF6.1.0.113.0\lib\net451\System.Data.SQLite.EF6.dll + + + ..\packages\System.Data.SQLite.Linq.1.0.113.0\lib\net451\System.Data.SQLite.Linq.dll + + + + + + + + + 3.5 + + + 3.5 + + + + + + + + dll\Tftp.Net.dll + + + + + UserControl + + + ucCalibration.cs + + + UserControl + + + ucCalibrationView.cs + + + UserControl + + + ucCommConfig.cs + + + UserControl + + + ucDataLog.cs + + + UserControl + + + ucEventLog.cs + + + UserControl + + + ucHistroy.cs + + + UserControl + + + ucMainStatus.cs + + + UserControl + + + ucModuleMainB.cs + + + UserControl + + + ucParamSet.cs + + + UserControl + + + ucShelfStatus.cs + + + UserControl + + + ucStatus.cs + + + UserControl + + + ucTargetControl.cs + + + UserControl + + + ucTftpClientcs.cs + + + UserControl + + + ucModuleMainA.cs + + + + + Form + + + fmxExcelFile.cs + + + Form + + + fmxFwImageConverter.cs + + + Form + + + fmxCalibration.cs + + + Form + + + fmxFwUpdate.cs + + + Form + + + fmxFwUpdateTftp.cs + + + Form + + + fmxHistory.cs + + + Form + + + fmxInventoryConfig.cs + + + Form + + + fmxModuleDetail.cs + + + Form + + + fmxParamConfig.cs + + + Form + + + fmxSystemSet.cs + + + Form + + + fmxWait.cs + + + + + + + + + + + + + + + + Form + + + fmxCommConfig.cs + + + Form + + + fmxMain.cs + + + + + + + + + + + + + + ucCalibration.cs + + + ucCalibrationView.cs + + + ucCommConfig.cs + + + ucDataLog.cs + + + ucEventLog.cs + + + ucHistroy.cs + + + ucMainStatus.cs + + + ucModuleMainA.cs + + + ucModuleMainB.cs + + + ucParamSet.cs + + + ucShelfStatus.cs + + + ucStatus.cs + + + ucTargetControl.cs + + + ucTftpClientcs.cs + + + fmxExcelFile.cs + + + fmxFwImageConverter.cs + + + fmxCalibration.cs + + + fmxCommConfig.cs + + + fmxFwUpdate.cs + + + fmxFwUpdateTftp.cs + + + fmxHistory.cs + + + fmxInventoryConfig.cs + + + fmxMain.cs + + + fmxModuleDetail.cs + + + fmxParamConfig.cs + + + fmxSystemSet.cs + + + fmxWait.cs + + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + + + + + + if not exist "$(TargetDir)\Library" mkdir "$(TargetDir)\Library" +if not exist "$(TargetDir)\Library\kerneldlls" mkdir "$(TargetDir)\Library\kerneldlls" +move "$(TargetDir)\*.dll" "$(TargetDir)\Library" +move "$(TargetDir)\*.pdb" "$(TargetDir)\Library" +move "$(TargetDir)\*.xml" "$(TargetDir)\Library" +copy "$(ProjectDir)\dll\*.dll" "$(TargetDir)\Library" +copy "$(ProjectDir)\dll\kerneldlls\*.*" "$(TargetDir)\Library\kerneldlls" + +if not exist "$(TargetDir)\sql" mkdir "$(TargetDir)\sql" +copy "$(ProjectDir)\DB Schema\*.sql" "$(TargetDir)\sql" + + + if exist "$(TargetDir)\library" rmdir /s /q "$(TargetDir)\library" +if exist "$(TargetDir)\sql" rmdir /s /q "$(TargetDir)\sql" + + + + 이 프로젝트는 이 컴퓨터에 없는 NuGet 패키지를 참조합니다. 해당 패키지를 다운로드하려면 NuGet 패키지 복원을 사용하십시오. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkID=322105를 참조하십시오. 누락된 파일은 {0}입니다. + + + + + + + + + \ No newline at end of file diff --git a/LFP_Manager/LFP_Manager_SB.csproj b/LFP_Manager/LFP_Manager_SB.csproj new file mode 100644 index 0000000..8e08334 --- /dev/null +++ b/LFP_Manager/LFP_Manager_SB.csproj @@ -0,0 +1,652 @@ + + + + + + Debug + AnyCPU + 9.0.21022 + 2.0 + {BE0785A4-0CCB-44C5-A8C0-1AA2245E71F4} + WinExe + Properties + LFP_Manager + LFP_Manager_SB + v4.8 + 512 + + + 3.5 + + + + + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + true + x86 + false + + + pdbonly + false + bin\Release\ + DEBUG;TRACE + prompt + 4 + true + x86 + false + + + AMO_LOGO.ico + + + + + True + + + True + + + True + + + + + True + + + True + + + True + + + True + + + True + + + True + + + + + True + + + + True + + + True + + + True + + + True + + + True + + + + True + + + True + + + + True + + + + True + + + + + + ..\packages\EntityFramework.6.5.1\lib\net45\EntityFramework.dll + + + ..\packages\EntityFramework.6.5.1\lib\net45\EntityFramework.SqlServer.dll + + + dll\IPAddressControlLib.dll + + + dll\log4net.dll + + + ..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.5\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll + + + ..\packages\Microsoft.Extensions.Configuration.9.0.5\lib\net462\Microsoft.Extensions.Configuration.dll + + + ..\packages\Microsoft.Extensions.Configuration.Abstractions.9.0.5\lib\net462\Microsoft.Extensions.Configuration.Abstractions.dll + + + ..\packages\Microsoft.Extensions.Configuration.Binder.9.0.5\lib\net462\Microsoft.Extensions.Configuration.Binder.dll + + + ..\packages\Microsoft.Extensions.DependencyInjection.9.0.5\lib\net462\Microsoft.Extensions.DependencyInjection.dll + + + ..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.9.0.5\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll + + + ..\packages\Microsoft.Extensions.Logging.9.0.5\lib\net462\Microsoft.Extensions.Logging.dll + + + ..\packages\Microsoft.Extensions.Logging.Abstractions.9.0.5\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll + + + ..\packages\Microsoft.Extensions.Logging.Configuration.9.0.5\lib\net462\Microsoft.Extensions.Logging.Configuration.dll + + + ..\packages\Microsoft.Extensions.Logging.Console.9.0.5\lib\net462\Microsoft.Extensions.Logging.Console.dll + + + ..\packages\Microsoft.Extensions.Logging.Debug.9.0.5\lib\net462\Microsoft.Extensions.Logging.Debug.dll + + + ..\packages\Microsoft.Extensions.Options.9.0.5\lib\net462\Microsoft.Extensions.Options.dll + + + ..\packages\Microsoft.Extensions.Options.ConfigurationExtensions.9.0.5\lib\net462\Microsoft.Extensions.Options.ConfigurationExtensions.dll + + + ..\packages\Microsoft.Extensions.Primitives.9.0.5\lib\net462\Microsoft.Extensions.Primitives.dll + + + False + dll\SnmpSharpNet.dll + + + + ..\packages\System.Buffers.4.6.1\lib\net462\System.Buffers.dll + + + + + 3.5 + + + + ..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.119.0\lib\net46\System.Data.SQLite.dll + + + ..\packages\System.Data.SQLite.EF6.1.0.119.0\lib\net46\System.Data.SQLite.EF6.dll + + + ..\packages\System.Data.SQLite.Linq.1.0.119.0\lib\net46\System.Data.SQLite.Linq.dll + + + ..\packages\System.Diagnostics.DiagnosticSource.9.0.5\lib\net462\System.Diagnostics.DiagnosticSource.dll + + + ..\packages\System.IO.Pipelines.9.0.5\lib\net462\System.IO.Pipelines.dll + + + ..\packages\System.Memory.4.6.3\lib\net462\System.Memory.dll + + + + ..\packages\System.Numerics.Vectors.4.6.1\lib\net462\System.Numerics.Vectors.dll + + + + ..\packages\System.Runtime.CompilerServices.Unsafe.6.1.2\lib\net462\System.Runtime.CompilerServices.Unsafe.dll + + + + + + + ..\packages\System.Text.Encodings.Web.9.0.5\lib\net462\System.Text.Encodings.Web.dll + + + ..\packages\System.Text.Json.9.0.5\lib\net462\System.Text.Json.dll + + + ..\packages\System.Threading.Tasks.Extensions.4.6.3\lib\net462\System.Threading.Tasks.Extensions.dll + + + + + 3.5 + + + 3.5 + + + + + + + + dll\Tftp.Net.dll + + + + + UserControl + + + UcAntiTheftControl.cs + + + UserControl + + + ucCalibration.cs + + + UserControl + + + ucCalibrationView.cs + + + UserControl + + + ucCommConfig.cs + + + UserControl + + + ucDataLog.cs + + + UserControl + + + ucEventLog.cs + + + UserControl + + + UcFaultAlarm.cs + + + UserControl + + + UcFaultAlarmGroup.cs + + + UserControl + + + ucHistroy.cs + + + UserControl + + + ucMainStatus.cs + + + UserControl + + + ucModuleMainB.cs + + + UserControl + + + ucModuleMainHeader.cs + + + UserControl + + + ucParamSet.cs + + + UserControl + + + ucShelfStatus.cs + + + UserControl + + + ucStatus.cs + + + UserControl + + + ucTargetControl.cs + + + UserControl + + + ucTftpClientcs.cs + + + UserControl + + + ucModuleMainA.cs + + + + + + + + Form + + + fmxAntiTheft.cs + + + Form + + + FmxChangePw.cs + + + Form + + + fmxExcelFile.cs + + + Form + + + fmxCalibration.cs + + + Form + + + fmxFwUpdate.cs + + + Form + + + fmxHistory.cs + + + Form + + + FmxInformation.cs + + + Form + + + fmxInventoryConfig.cs + + + Form + + + FmxLevelConfig.cs + + + Form + + + fmxModuleDetail.cs + + + Form + + + fmxParamConfig.cs + + + Form + + + FmxPassword.cs + + + Form + + + FmxPasswordChange.cs + + + Form + + + fmxWait.cs + + + + + + + + + True + True + Resources.resx + + + + + + Form + + + fmxCommConfig.cs + + + Form + + + fmxMain.cs + + + + + + + + + + + + + + + + + UcAntiTheftControl.cs + + + ucCalibration.cs + + + ucCalibrationView.cs + + + ucCommConfig.cs + + + ucDataLog.cs + + + ucEventLog.cs + + + UcFaultAlarm.cs + + + UcFaultAlarmGroup.cs + + + ucHistroy.cs + + + ucMainStatus.cs + + + ucModuleMainA.cs + + + ucModuleMainB.cs + + + ucModuleMainHeader.cs + + + ucParamSet.cs + + + ucShelfStatus.cs + + + ucStatus.cs + + + ucTargetControl.cs + + + ucTftpClientcs.cs + + + fmxAntiTheft.cs + + + FmxChangePw.cs + + + fmxExcelFile.cs + + + fmxCalibration.cs + + + fmxCommConfig.cs + + + fmxFwUpdate.cs + + + fmxHistory.cs + + + FmxInformation.cs + + + fmxInventoryConfig.cs + + + FmxLevelConfig.cs + + + fmxMain.cs + + + fmxModuleDetail.cs + + + fmxParamConfig.cs + + + FmxPassword.cs + + + FmxPasswordChange.cs + + + fmxWait.cs + + + + ResXFileCodeGenerator + Designer + Resources.Designer.cs + + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + + + + + + if not exist "$(TargetDir)\Library" mkdir "$(TargetDir)\Library" +if not exist "$(TargetDir)\Library\kerneldlls" mkdir "$(TargetDir)\Library\kerneldlls" +move "$(TargetDir)\*.dll" "$(TargetDir)\Library" +move "$(TargetDir)\*.pdb" "$(TargetDir)\Library" +move "$(TargetDir)\*.xml" "$(TargetDir)\Library" +copy "$(ProjectDir)\dll\*.dll" "$(TargetDir)\Library" +copy "$(ProjectDir)\dll\kerneldlls\*.*" "$(TargetDir)\Library\kerneldlls" + +if not exist "$(TargetDir)\sql" mkdir "$(TargetDir)\sql" +copy "$(ProjectDir)\DB Schema\*.sql" "$(TargetDir)\sql" + + + if exist "$(TargetDir)\library" rmdir /s /q "$(TargetDir)\library" +if exist "$(TargetDir)\sql" rmdir /s /q "$(TargetDir)\sql" + + + + 이 프로젝트는 이 컴퓨터에 없는 NuGet 패키지를 참조합니다. 해당 패키지를 다운로드하려면 NuGet 패키지 복원을 사용하십시오. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkID=322105를 참조하십시오. 누락된 파일은 {0}입니다. + + + + + + + + + + + + \ No newline at end of file diff --git a/LFP_Manager/Program.cs b/LFP_Manager/Program.cs new file mode 100644 index 0000000..a0e08e6 --- /dev/null +++ b/LFP_Manager/Program.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Forms; + +using LFP_Manager.Forms; + +namespace LFP_Manager +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new fmxMain()); + } + } +} diff --git a/LFP_Manager/Properties/AssemblyInfo.cs b/LFP_Manager/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..cf3b7af --- /dev/null +++ b/LFP_Manager/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("LFP Monitor Program (LFP Module 48V Series)")] +[assembly: AssemblyDescription("For LFPM-48xxxSB")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("AMG (Amogreentech)")] +[assembly: AssemblyProduct("LFP Monitor - for Delta")] +[assembly: AssemblyCopyright("Copyright 2025 © Amogreentech. Co., Ltd.")] +[assembly: AssemblyTrademark("AMG Energy Solution")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("a97c6f26-af24-466a-888d-dfdba0e4bb78")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.6")] +[assembly: AssemblyFileVersion("1.0.0.6")] diff --git a/LFP_Manager/Properties/Resources.Designer.cs b/LFP_Manager/Properties/Resources.Designer.cs new file mode 100644 index 0000000..e0b45a1 --- /dev/null +++ b/LFP_Manager/Properties/Resources.Designer.cs @@ -0,0 +1,83 @@ +//------------------------------------------------------------------------------ +// +// 이 코드는 도구를 사용하여 생성되었습니다. +// 런타임 버전:4.0.30319.42000 +// +// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면 +// 이러한 변경 내용이 손실됩니다. +// +//------------------------------------------------------------------------------ + +namespace LFP_Manager.Properties { + using System; + + + /// + /// 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다. + /// + // 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder + // 클래스에서 자동으로 생성되었습니다. + // 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여 ResGen을 + // 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("LFP_Manager.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대해 현재 스레드의 CurrentUICulture 속성을 + /// 재정의합니다. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// (아이콘)과(와) 유사한 System.Drawing.Icon 형식의 지역화된 리소스를 찾습니다. + /// + internal static System.Drawing.Icon AMO_LOGO { + get { + object obj = ResourceManager.GetObject("AMO_LOGO", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// + /// System.Drawing.Bitmap 형식의 지역화된 리소스를 찾습니다. + /// + internal static System.Drawing.Bitmap AMO_LOGO1 { + get { + object obj = ResourceManager.GetObject("AMO_LOGO1", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/LFP_Manager/Properties/Resources.resx b/LFP_Manager/Properties/Resources.resx new file mode 100644 index 0000000..7491085 --- /dev/null +++ b/LFP_Manager/Properties/Resources.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\AMO_LOGO1.ico;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\AMO_LOGO.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/LFP_Manager/Properties/Settings.Designer.cs b/LFP_Manager/Properties/Settings.Designer.cs new file mode 100644 index 0000000..d696fde --- /dev/null +++ b/LFP_Manager/Properties/Settings.Designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// 이 코드는 도구를 사용하여 생성되었습니다. +// 런타임 버전:4.0.30319.42000 +// +// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면 +// 이러한 변경 내용이 손실됩니다. +// +//------------------------------------------------------------------------------ + +namespace LFP_Manager.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.3.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + } +} diff --git a/LFP_Manager/Properties/Settings.settings b/LFP_Manager/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/LFP_Manager/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/LFP_Manager/Properties/licenses.licx b/LFP_Manager/Properties/licenses.licx new file mode 100644 index 0000000..0465324 --- /dev/null +++ b/LFP_Manager/Properties/licenses.licx @@ -0,0 +1,10 @@ +DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.ProgressBarControl, DevExpress.XtraEditors.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraCharts.ChartControl, DevExpress.XtraCharts.v22.2.UI, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraGauges.Win.GaugeControl, DevExpress.XtraGauges.v22.2.Win, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraDataLayout.DataLayoutControl, DevExpress.XtraLayout.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.PictureEdit, DevExpress.XtraEditors.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v22.2, Version=22.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/LFP_Manager/Properties/licenses.licx.bak b/LFP_Manager/Properties/licenses.licx.bak new file mode 100644 index 0000000..9075858 --- /dev/null +++ b/LFP_Manager/Properties/licenses.licx.bak @@ -0,0 +1,13 @@ +DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v20.1, Version=20.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraGauges.Win.GaugeControl, DevExpress.XtraGauges.v20.1.Win, Version=20.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraBars.Navigation.OfficeNavigationBar, DevExpress.XtraBars.v20.1, Version=20.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v20.1, Version=20.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraNavBar.NavBarControl, DevExpress.XtraNavBar.v20.1, Version=20.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.ProgressBarControl, DevExpress.XtraEditors.v20.1, Version=20.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraCharts.ChartControl, DevExpress.XtraCharts.v20.1.UI, Version=20.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraTreeMap.TreeMapControl, DevExpress.XtraTreeMap.v20.1, Version=20.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v20.1, Version=20.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v20.1, Version=20.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.Utils.MVVM.MVVMContext, DevExpress.Utils.v20.1, Version=20.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v20.1, Version=20.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v20.1, Version=20.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/LFP_Manager/Resources/AMO_LOGO.ico b/LFP_Manager/Resources/AMO_LOGO.ico new file mode 100644 index 0000000..a18b5d2 Binary files /dev/null and b/LFP_Manager/Resources/AMO_LOGO.ico differ diff --git a/LFP_Manager/Resources/AMO_LOGO1.ico b/LFP_Manager/Resources/AMO_LOGO1.ico new file mode 100644 index 0000000..a18b5d2 Binary files /dev/null and b/LFP_Manager/Resources/AMO_LOGO1.ico differ diff --git a/LFP_Manager/Resources/SB_LOGO_250829.jpg b/LFP_Manager/Resources/SB_LOGO_250829.jpg new file mode 100644 index 0000000..c391f8f Binary files /dev/null and b/LFP_Manager/Resources/SB_LOGO_250829.jpg differ diff --git a/LFP_Manager/Threads/CsSnmpThread.cs b/LFP_Manager/Threads/CsSnmpThread.cs new file mode 100644 index 0000000..1a63c09 --- /dev/null +++ b/LFP_Manager/Threads/CsSnmpThread.cs @@ -0,0 +1,607 @@ +using LFP_Manager.DataStructure; +using LFP_Manager.Function; +using LFP_Manager.Utils; +using SnmpSharpNet; +using System; +using System.Linq; +using System.Net; +using System.Threading; +using System.Threading.Tasks; + +namespace LFP_Manager.Threads +{ + // 콜백 델리게이트 + public delegate void SetResult(string result, bool error); + public delegate void DataUpdate(object sender, ref CsDeviceData.DeviceModuleData rData); + + class CsSnmpThread + { + #region VARIABLES (상태) + private CsDeviceData.DeviceModuleData ModuleData; + private CommConfig Config; + + // 스레드/토큰 기반 (Abort 제거) + private readonly CancellationTokenSource _cts = new CancellationTokenSource(); + private Task _snmpTask; + + // 상태 보호용 락 + private readonly object _stateLock = new object(); + + // 실행 상태 + private bool snmpThreadHold = true; // true = 정지, false = 동작 + private string targetIP = ""; + private bool AutoSnmpTx = true; + + // OID 순회 + private int OidIndex = 0; + private int OidMax = 0; + private string[] OidList = Array.Empty(); + + // 통신 타임아웃 카운터 + private int CommTimeOut = 0; + + // 결과 메시지 (레거시 호환) + private bool snmpDataRecv = false; + private string snmpResult = ""; + + // 대기중 SET 명령 (race 방지 위해 락으로 보호) + private int _pendingModeInt = 0; + private int _pendingModeStr = 0; + private UInt32 _pendingValue = 0; + private string _pendingString = null; + + private long _lastUpdateTicks = 0; + private const int UpdateMinIntervalMs = 120; + + // 이벤트 + public event DataUpdate OnUpdate = null; + public event SetResult OnSetResult = null; + #endregion + + #region CONSTRUCTORS + + public CsSnmpThread(CommConfig aConfig, ref CsDeviceData.DeviceModuleData mData) + { + Config = aConfig; + ModuleData = mData; + + OidList = CsSnmpConstData.SnmpOidInfo ?? Array.Empty(); + OidMax = OidList.Length; + OidIndex = 0; + + _snmpTask = Task.Factory.StartNew( + () => snmpThreadFuncA(_cts.Token), + _cts.Token, + TaskCreationOptions.LongRunning, + TaskScheduler.Default); + } + #endregion + + #region PUBLIC API + /// + /// 안전 종료 (Abort 제거) + /// + public void disposeThread() + { + Stop(); + _cts.Cancel(); + try { _snmpTask?.Wait(1500); } catch { /* ignore */ } + } + + /// + /// 스레드 실행 시작/재시작 + /// + public void Start(string IP, bool autoTx) + { + lock (_stateLock) + { + targetIP = IP ?? ""; + AutoSnmpTx = autoTx; + snmpThreadHold = false; + } + } + + /// + /// 스레드 일시정지 + /// + public void Stop() + { + lock (_stateLock) + { + snmpThreadHold = true; + } + } + + /// + /// true면 정지 상태 + /// + public bool GetStatus() + { + lock (_stateLock) { return snmpThreadHold; } + } + + /// + /// 레거시: 마지막 결과 문자열 반환 후 플래그 리셋 + /// + public string GetResult() + { + lock (_stateLock) + { + if (snmpDataRecv) + { + snmpDataRecv = false; + return snmpResult; + } + } + return ""; + } + + public void SetAutoTx(bool autoTx) + { + lock (_stateLock) { AutoSnmpTx = autoTx; } + } + + public string GetSnmpOidInfo(int index) + { + if (index < 0 || index >= OidMax) return null; + return OidList[index]; + } + + /// + /// 정수형 SET 명령 예약 + /// + public void SetDataBySnmp(int mode, UInt32 value) + { + lock (_stateLock) + { + _pendingModeInt = mode; + _pendingValue = value; + } + } + + /// + /// 문자열 SET 명령 예약 + /// + public void SetDataBySnmp(int mode, string value) + { + lock (_stateLock) + { + _pendingModeStr = mode; + _pendingString = value; + } + } + #endregion + + #region COMM. THREAD + + private void snmpThreadFuncA(CancellationToken ct) + { + var wait = new ManualResetEventSlim(false); + int backoffMs = 50; // 정상 루프 기본 지연 + + while (!ct.IsCancellationRequested) + { + bool hold; + string ip; + bool autoTx; + + lock (_stateLock) + { + hold = snmpThreadHold; + ip = targetIP; + autoTx = AutoSnmpTx; + } + + if (hold || string.IsNullOrWhiteSpace(ip)) + { + // 대기 + wait.Wait(TimeSpan.FromMilliseconds(500), ct); + continue; + } + + // Target 생성 및 재사용 범위 + if (!TryParseIp(ip, out var addr)) + { + OnSetResultSafe($"Invalid IP address: {ip}", true); + wait.Wait(TimeSpan.FromMilliseconds(1000), ct); + continue; + } + + var param = CreateAgentParams(); // 커뮤니티/버전 통일 + + using (var target = new UdpTarget(addr, 161, 1000, 1)) + { + var pdu = new Pdu(PduType.Get); + + while (!ct.IsCancellationRequested) + { + lock (_stateLock) + { + if (snmpThreadHold) break; + } + + // 1) 대기중 SET 우선 처리 + int modeInt, modeStr; + UInt32 setVal; + string setStr; + + lock (_stateLock) + { + modeInt = _pendingModeInt; + modeStr = _pendingModeStr; + setVal = _pendingValue; + setStr = _pendingString; + + _pendingModeInt = 0; + _pendingModeStr = 0; + _pendingString = null; + } + + if (modeInt != 0 || modeStr != 0) + { + int mode = (modeInt != 0) ? modeInt : modeStr; + bool err = SetCmdbySnmp(target, mode, setVal, setStr); + backoffMs = err ? Math.Min(backoffMs * 2, 2000) : 100; // 에러 시 백오프 + continue; + } + + // 2) GET 폴링 + autoTx = AutoSnmpTx; + if (!autoTx) + { + wait.Wait(TimeSpan.FromMilliseconds(200), ct); + continue; + } + + if (OidMax == 0) + { + OnSetResultSafe("SNMP OID list is empty.", true); + wait.Wait(TimeSpan.FromMilliseconds(1000), ct); + continue; + } + + int idx = NextOidIndex(); + string oid = GetSnmpOidInfo(idx); + if (string.IsNullOrEmpty(oid)) + { + Thread.Sleep(100); + continue; + } + + pdu.VbList.Clear(); + pdu.VbList.Add(oid); + + try + { + target.Timeout = 500; + + OnSetResultSafe(csLog.trx_msg_print( + $"SEND {target.Address}: OID [{pdu.VbList[0].Oid}]", 0), false); + + var packet = (SnmpV1Packet)target.Request(pdu, param); + if (packet == null) + { + HandleNoResponse(ref backoffMs); + continue; + } + + if (packet.Pdu.ErrorStatus != 0) + { + string oidTxt = (packet.Pdu.VbList.Count > 0) + ? packet.Pdu.VbList[0].Oid.ToString() + : "(no vb)"; + + OnSetResultSafe(csLog.trx_msg_print( + $"Error in SNMP reply. Error {packet.Pdu.ErrorStatus} index {packet.Pdu.ErrorIndex} - {oidTxt}", 1), true); + + HandleCommFailStep(ref backoffMs); + continue; + } + + if (packet.Pdu.VbList.Count == 0) + { + OnSetResultSafe("SNMP reply has empty VbList.", true); + HandleCommFailStep(ref backoffMs); + continue; + } + + var vb = packet.Pdu.VbList[0]; + + OnSetResultSafe(csLog.trx_msg_print( + $"RECV {target.Address}: OID [{vb.Oid}]: [{vb.Value}]", 1), false); + + // 특정 트리만 반영 (1.3.6.1.2.1.15.*) → 필요에 맞게 수정하세요. + if (TryParseShelfOid(vb, out uint leaf)) + { + if (vb.Value.Type == AsnType.OCTETSTRING) + { + try + { + csMakeDataFunction.SetSnmpData((int)leaf, vb.Value.ToString(), ref ModuleData); + } + catch (Exception ex) + { + OnSetResultSafe($"{NowPrefix()} {ex.Message}", true); + } + } + + CalcAvgTemperatureModule(ref ModuleData, (uint)ModuleData.tempQty); + CheckShelfCommFail(ref ModuleData); + + var nowTicks = Environment.TickCount; + if (nowTicks - _lastUpdateTicks >= UpdateMinIntervalMs) + { + OnUpdate?.Invoke(this, ref ModuleData); + _lastUpdateTicks = nowTicks; + } + } + + CommTimeOut = 0; + ModuleData.CommFail = false; + backoffMs = 50; + + Thread.Sleep(backoffMs); + } + catch (Exception ex) + { + string curOid = pdu.VbList.Count > 0 ? pdu.VbList[0].Oid.ToString() : "(no oid)"; + OnSetResultSafe(csLog.trx_msg_print( + $"Exception in SNMP reply. OID {curOid}: {ex.Message}", 1), true); + + HandleCommFailStep(ref backoffMs); + } + } // inner while + } // using target + + Thread.Sleep(500); + } // outer while + } + #endregion + + #region SNMP HELPERS + private AgentParameters CreateAgentParams() + { + // 커뮤니티/버전 통일: v1 + "public" (필요시 Ver2로 변경) + // Ver2가 가능하면: new AgentParameters(SnmpVersion.Ver2, new OctetString("public")); + return new AgentParameters(SnmpVersion.Ver1, new OctetString("admin")); + } + + private bool SetCmdbySnmp(UdpTarget sTarget, int mode, UInt32 value, string svalue) + { + bool resultError = false; + var SetPdu = new Pdu(PduType.Set); + SetPdu.VbList.Clear(); + + // 모드별 OID 매핑 (기존 코드 유지) + switch (mode) + { + case 1: // Reset Command + SetPdu.VbList.Add(new Oid(".1.3.6.1.4.1.33.13.1.0"), new Integer32(Convert.ToInt32(value))); + break; + case 2: // Module Quantity Set + SetPdu.VbList.Add(new Oid(".1.3.6.1.4.1.33.2.4.0"), new Integer32(Convert.ToInt32(value))); + break; + case 3: // Alarm Output Mode + SetPdu.VbList.Add(new Oid(".1.3.6.1.4.1.33.2.5.0"), new Integer32(Convert.ToInt32(value))); + break; + case 4: // Manufacture Date + SetPdu.VbList.Add(new Oid(".1.3.6.1.4.1.33.2.6.0"), new Integer32(Convert.ToInt32(value))); + break; + case 5: // BMS Serial Number + SetPdu.VbList.Add(new Oid(".1.3.6.1.4.1.33.2.7.0"), new OctetString(svalue ?? "")); + break; + default: + OnSetResultSafe($"Unsupported SET mode: {mode}", true); + return true; + } + + try + { + var aparam = CreateAgentParams(); + var result = sTarget.Request(SetPdu, aparam) as SnmpV1Packet; + + if (result == null) + { + OnSetResultSafe($"{NowPrefix()} No response received from SNMP agent.", true); + return true; + } + + if (result.Pdu.ErrorStatus != 0) + { + string oidTxt = (result.Pdu.VbList.Count > 0) + ? result.Pdu.VbList[0].Oid.ToString() + : "(no vb)"; + + OnSetResultSafe($"Error in SNMP SET. Error {result.Pdu.ErrorStatus} index {result.Pdu.ErrorIndex} - {oidTxt}", true); + return true; + } + + var vbOk = result.Pdu.VbList.Count > 0 ? result.Pdu.VbList[0] : null; + var val = vbOk != null ? vbOk.Value.ToString() : "(no vb)"; + OnSetResultSafe($"SNMP SET OK. OID [{vbOk?.Oid}] -> [{val}]", false); + return false; + } + catch (Exception ex) + { + OnSetResultSafe($"{NowPrefix()} Exception: {ex.Message}", true); + resultError = true; + } + + return resultError; + } + + private static bool TryParseIp(string ip, out IPAddress addr) + { + if (IPAddress.TryParse(ip, out addr)) return true; + try + { + var host = Dns.GetHostEntry(ip); + addr = host?.AddressList?.FirstOrDefault(a => a.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork); + return addr != null; + } + catch { addr = null; return false; } + } + + private int NextOidIndex() + { + // 간단한 라운드로빈 + int next = Interlocked.Increment(ref OidIndex); + if (OidMax == 0) return 0; + next %= OidMax; + if (next < 0) next += OidMax; + return next; + } + + private static bool TryParseShelfOid(Vb vb, out uint leaf) + { + leaf = 0; + if (vb?.Oid == null) return false; + + // OID를 문자열로 받아 숫자 배열로 파싱 + // 예: ".1.3.6.1.2.1.15.7.0" 또는 "1.3.6.1.2.1.15.7.0" + string oidStr = vb.Oid.ToString(); + if (string.IsNullOrWhiteSpace(oidStr)) return false; + + // 선행 '.' 제거 후 분해 + var parts = oidStr.Trim('.').Split('.'); + if (parts.Length < 8) return false; + + // 숫자 배열로 변환 (변환 실패 시 false) + uint[] ids = new uint[parts.Length]; + for (int i = 0; i < parts.Length; i++) + { + if (!uint.TryParse(parts[i], out ids[i])) + return false; + } + + // 예시 트리: 1.3.6.1.2.1.15.x.* + if (ids[0] == 1 && ids[1] == 3 && ids[2] == 6 && + ids[3] == 1 && ids[4] == 2 && ids[5] == 1 && + ids[6] == 15) + { + leaf = ids[7]; + return true; + } + + return false; + } + + private void HandleNoResponse(ref int backoffMs) + { + lock (_stateLock) + { + if (!snmpDataRecv) + { + snmpResult = $"{NowPrefix()} No response received from SNMP agent."; + snmpDataRecv = true; + OnSetResult?.Invoke(snmpResult, true); + } + } + + CommTimeOut++; + if (CommTimeOut >= 10) + { + ModuleData.Reset(); + ModuleData.CommFail = true; + + var nowTicks = Environment.TickCount; + if (nowTicks - _lastUpdateTicks >= UpdateMinIntervalMs) + { + OnUpdate?.Invoke(this, ref ModuleData); + _lastUpdateTicks = nowTicks; + } + + CommTimeOut = 10; + } + Thread.Sleep(backoffMs = Math.Min(backoffMs * 2, 2000)); + } + + private void HandleCommFailStep(ref int backoffMs) + { + CommTimeOut++; + if (CommTimeOut >= 10) + { + ModuleData.Reset(); + ModuleData.CommFail = true; + + var nowTicks = Environment.TickCount; + if (nowTicks - _lastUpdateTicks >= UpdateMinIntervalMs) + { + OnUpdate?.Invoke(this, ref ModuleData); + _lastUpdateTicks = nowTicks; + } + + CommTimeOut = 10; + } + Thread.Sleep(backoffMs = Math.Min(backoffMs * 2, 2000)); + } + + private void OnSetResultSafe(string msg, bool error) + { + try { OnSetResult?.Invoke(msg, error); } catch { /* swallow */ } + } + + private static string NowPrefix() => DateTime.Now.ToString("[yyyy-MM-dd HH:mm:ss] "); + #endregion + + #region DOMAIN HELPERS (기존 함수 보강/유지) + private void CheckShelfCommFail(ref CsDeviceData.DeviceModuleData mData) + { + // 상태코드 0x0003 → ShelfCommFail=true (기존 가정 유지) + if (mData.StatusData.batteryStatus == 0x0003) { mData.ShelfCommFail = true; } + else { mData.ShelfCommFail = false; } + } + + // 기존 코드 유지 (평균/최대/최소 계산) + static void CalcAvgTemperatureModule(ref CsDeviceData.DeviceModuleData mData, UInt32 tSize) + { + short i, j; + int sum; + TMinMax min, max; + + min = new TMinMax(); + max = new TMinMax(); + + sum = 0; + max.value = 0; + max.num = 0; + min.value = 0; + min.num = 0; + + j = 0; + for (i = 0; i < tSize; i++) + { + if (j == 0) + { + max.value = mData.ValueData.CellTemperature[i]; + max.num = i; + min.value = mData.ValueData.CellTemperature[i]; + min.num = i; + } + + if (max.value < mData.ValueData.CellTemperature[i]) + { + max.value = mData.ValueData.CellTemperature[i]; + max.num = i; + } + if (min.value > mData.ValueData.CellTemperature[i]) + { + min.value = mData.ValueData.CellTemperature[i]; + min.num = i; + } + + sum += mData.ValueData.CellTemperature[i]; + j++; + } + + if (j == 0) { mData.AvgData.avgTemp = 0; } + else { mData.AvgData.avgTemp = (short)(sum / j); } + + mData.AvgData.maxTemp = max.value; + mData.AvgData.maxTempNum = max.num; + mData.AvgData.minTemp = min.value; + mData.AvgData.minTempNum = min.num; + } + #endregion + } +} diff --git a/LFP_Manager/Threads/CsUartThreadSB.cs b/LFP_Manager/Threads/CsUartThreadSB.cs new file mode 100644 index 0000000..9a8a789 --- /dev/null +++ b/LFP_Manager/Threads/CsUartThreadSB.cs @@ -0,0 +1,644 @@ +using System; + +using System.Threading; +using System.IO.Ports; +using System.Windows.Forms; + +using LFP_Manager.DataStructure; +using LFP_Manager.Function; +using LFP_Manager.Utils; +using DevExpress.XtraGauges.Core.Model; +using System.Collections.Concurrent; +using System.Drawing.Printing; +using System.ComponentModel; + +namespace LFP_Manager.Threads +{ + class CsUartThreadSB + { + #region DELEGATE + // 표준 이벤트 패턴 + public sealed class ModuleDataEventArgs : EventArgs + { + public CsDeviceData.DeviceModuleData[] Modules { get; } + public ModuleDataEventArgs(CsDeviceData.DeviceModuleData[] modules) => Modules = modules; + } + #endregion + + #region CONSTANTS + private const int RX_PACKET_BUFFER_SIZE = 512; + #endregion + + #region VARIABLES + + private readonly CommConfig Config; + private CsDeviceData.DeviceModuleData[] ModuleData; + private Thread _serialComm = null; + private SerialPort sPort = null; + private CancellationTokenSource _cts; + private volatile bool _serialPortThreadEnd = true; + + private readonly object _startStopLock = new object(); + + private readonly ISynchronizeInvoke _ui; // 보통 Form 또는 Control + + public int ModuleID = 1; + private bool UartPolling = false; + private bool AutoUartTx = true; + + private int addr_ch = 0; + private ushort RequestRegAddr = 0x0000; //Byul Init 0x0000 + private ushort RequestRegLen = 50; + private bool rFlag = false; + private int wFlag = 0; + private int rFlag2 = 0; + + private ushort ExtReqRegAddr = 0x0000; + + private ushort WriteRegAddr = 0x0000; //Byul Init 0x0000 + private short WriteCoilRegData = 0; + private byte[] WriteRegData; + private short WriteParamRegData; + + private readonly ConcurrentQueue _rxQ = new ConcurrentQueue(); + + private TUartTxBuff UartTxBuff; + + // 이벤트 + public event EventHandler OnUpdate; + public event EventHandler OnDataRecv; + public event EventHandler OnPrint; + + #endregion + + #region CONSTRUCTORS + + public CsUartThreadSB(int mId, + CommConfig aConfig, + ISynchronizeInvoke uiInvoker, + CsDeviceData.DeviceModuleData[] aModuleData) + { + ModuleID = mId; + Config = aConfig; + ModuleData = aModuleData; + + UartTxBuff = new TUartTxBuff(); + } + + public void Dispose() + { + Stop(); + } + + public bool Start(ref CommConfig aConfig, int mID, bool aPolling) + { + if (aConfig == null) throw new ArgumentNullException(nameof(aConfig)); + + string modelname = csConstData.UART_MODEL[aConfig.UartModelIndex]; + int mQty = aConfig.ModuleQty; + + if (ModuleData == null || ModuleData.Length < mQty) + throw new InvalidOperationException($"ModuleData length({ModuleData?.Length ?? 0}) < ModuleQty({mQty})"); + + for (int i = 0; i < mQty; i++) + { + ModuleData[i].mNo = i + 1; + //ModuleData[i].Information.ModelName = modelname; + } + + ModuleID = mID; + UartPolling = aPolling; + + if (!Open(aConfig.UartPort, aConfig.UartBaudrate)) + return false; + + // 이중 시작 방지 + if (_serialComm != null && _serialComm.IsAlive) + return true; + + _serialPortThreadEnd = false; + _cts = new CancellationTokenSource(); + + _serialComm = new Thread(() => uartCommThreadSB(_cts.Token)) + { + IsBackground = true, + Name = "UartCommThreadDelta" + }; + _serialComm.Start(); + return true; + } + + public void Stop() + { + _serialPortThreadEnd = true; + var cts = _cts; + _cts = null; + if (cts != null && !cts.IsCancellationRequested) + cts.Cancel(); + + var t = _serialComm; + _serialComm = null; + if (t != null && t.IsAlive) + { + try { t.Join(500); } catch { /* timeout 시 로그만 */ } + } + + Close(); // SerialPort 닫기 및 핸들러 해제 + } + + #endregion + + #region SAFETY RAISE HELPER + private void RaiseOnUpdate(CsDeviceData.DeviceModuleData[] snapshot) + { + var handler = OnUpdate; + if (handler == null) return; + + var args = new ModuleDataEventArgs(snapshot); + + if (_ui != null && _ui.InvokeRequired) + { + try { _ui.BeginInvoke(new Action(() => handler(this, args)), null); } + catch { /* 폼 종료 중 등 예외 무시(로그만) */ } + } + else + { + handler(this, args); + } + } + + private void RaiseOnDataRecv(byte[] data) + { + var handler = OnDataRecv; + if (handler == null) return; + + var args = new DataRecvEventArgs(data); + + if (_ui != null && _ui.InvokeRequired) + { + try { _ui.BeginInvoke(new Action(() => handler(this, args)), null); } + catch { } + } + else + { + handler(this, args); + } + } + + private void RaiseOnPrint(int id, string msg) + { + var handler = OnPrint; + if (handler == null) return; + + var args = new PrintEventArgs(id, msg); + + if (_ui != null && _ui.InvokeRequired) + { + try { _ui.BeginInvoke(new Action(() => handler(this, args)), null); } + catch { } + } + else + { + handler(this, args); + } + } + #endregion + + #region COMMPORT CONTROLS + + private void sDataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) + { + try + { + var sp = (SerialPort)sender; + int available = sp.BytesToRead; + if (available <= 0) return; + + byte[] tmp = new byte[available]; + int read = sp.Read(tmp, 0, tmp.Length); + for (int i = 0; i < read; i++) + _rxQ.Enqueue(tmp[i]); + } + catch (Exception) + { + /* 필요시 로그 */ + } + } + + private void sErrorReceived(object sender, System.IO.Ports.SerialErrorReceivedEventArgs e) + { + // + //csMakeDataFunction.SetData() + } + + private void sPinChanged(object sender, System.IO.Ports.SerialPinChangedEventArgs e) + { + // + } + + private bool Open(string cPort, int cBaudrate) + { + sPort = new SerialPort(); + sPort.PortName = cPort; + sPort.BaudRate = cBaudrate; + sPort.DataReceived += sDataReceived; + sPort.ErrorReceived += sErrorReceived; + sPort.PinChanged += sPinChanged; + + try + { + sPort.Open(); + } + catch (Exception ex) + { + throw new Exception("Error Open - " + ex.Message); + } + + return sPort.IsOpen; + } + + private void Close() + { + if (sPort != null) + { + try + { + sPort.DataReceived -= sDataReceived; + sPort.ErrorReceived -= sErrorReceived; + sPort.PinChanged -= sPinChanged; + if (sPort.IsOpen) sPort.Close(); + } + finally + { + sPort.Dispose(); + sPort = null; + } + } + } + + #endregion + + #region PUBLIC FUNCTION + + public void SetPolling(bool flag, int mID, ref CsDeviceData.DeviceModuleData[] aModuleData) + { + ModuleID = mID; + UartPolling = flag; + ModuleData = aModuleData; + ModuleData[0].mNo = ModuleID; + } + + public void SetAutoTx(bool autoTx) + { + AutoUartTx = autoTx; + } + + public void SetWriteReg(ushort WriteAddr, byte[] WriteData, bool ReplyFlag, int type) + { + WriteRegAddr = WriteAddr; + + TUartTRxData uartTRxData = new TUartTRxData(); + uartTRxData.type = type; + uartTRxData.data = WriteData; + uartTRxData.length = uartTRxData.data.Length; + + UartTxBuff?.PutBuff(uartTRxData); + } + + public void SetParam(ushort WriteAddr, short WriteData) + { + short[] wData = new short[1]; + wData[0] = WriteData; + + byte[] sData = CsSerialCommFunctionDelta.MakeWriteRegisterData((ushort)ModuleID, WriteAddr, wData); + + if (sData != null) + { + TUartTRxData aData = new TUartTRxData(); + aData.length = sData.Length; + aData.data = sData; + + UartTxBuff.PutBuff(aData); + } + } + + public void SetReadWriteParam(ushort WriteAddr, short WriteData) + { + byte[] sData = CsSerialCommFunctionDelta.MakeReadWriteRegisterData((ushort)ModuleID, WriteAddr, WriteData); + + if (sData != null) + { + TUartTRxData aData = new TUartTRxData(); + aData.length = sData.Length; + aData.data = sData; + + ExtReqRegAddr = WriteAddr; + + UartTxBuff.PutBuff(aData); + } + } + + #endregion + + #region RX BUFFERING + + private int GetBuff() + { + return _rxQ.TryDequeue(out var b) ? (0x0100 | b) : 0; + } + + private void FlushBuff() + { + while (_rxQ.TryDequeue(out _)) { } + } + + #endregion + + #region TX BUFFERING + + private byte[] MakeWriteRegData(ushort DevID, ushort WriteAddr, ushort WriteLen, ref ushort[] WriteData) + { + byte[] wData = null; + + if (WriteLen > 0) + { + + } + + return wData; + } + + private string MakeCheckSum(byte[] sData, int len) + { + string result = ""; + int checksum = 0; + + for (int i = 0; i < len; i++) + { + checksum += sData[i + 1]; + } + + checksum = ~checksum + 1; + + result = String.Format("{0:X2}{1:X2}", (byte)(checksum >> 8), (byte)checksum); + + return result; + } + + private byte[] MakeTxDataDelta(bool wData) + { + byte[] sData = null; + + if ((UartTxBuff != null) && (UartTxBuff.CheckBuff())) + { + TUartTRxData sBuff = UartTxBuff.GetBuff(); + if (sBuff != null) + { + sData = sBuff.data; + wData = true; + rFlag = true; + rFlag2 = sBuff.type; + + RequestRegAddr = ExtReqRegAddr; + } + } + else + { + if (AutoUartTx && UartPolling) + { + ushort sCmd; + switch (addr_ch) + { + case 0: // Battery Status Data + addr_ch = 3; + RequestRegAddr = 0x0FFF; //Byul Init 0x0000 + RequestRegLen = 0x27; + sCmd = CsSerialCommFunctionDelta.READ_INPUT_REG; // Command 0x04 + rFlag = true; + break; + case 1: // Gyroscope Data + addr_ch = 2; + RequestRegAddr = 0x4000; + RequestRegLen = 7; + sCmd = CsSerialCommFunctionDelta.READ_INPUT_REG; // Command 0x17 + rFlag = true; + break; + case 2: + addr_ch = 3; + RequestRegAddr = 0x3000; + RequestRegLen = 3; + sCmd = CsSerialCommFunctionDelta.READ_INPUT_REG; // Command 0x19 + rFlag = true; + break; + case 3: + addr_ch = 4; + RequestRegAddr = 0x0000; + RequestRegLen = 1; + sCmd = CsSerialCommFunctionDelta.READ_DEV_ID; // Command 0x2B + rFlag = true; + break; + case 4: + if (Config.ModuleQty > 1) + { + ModuleID++; + if (ModuleID > Config.ModuleQty) + { + ModuleID = 1; + } + } + addr_ch = 0; + sCmd = CsSerialCommFunctionDelta.NO_CMD; + rFlag = false; + break; + default: + addr_ch = 0; + RequestRegAddr = 0x0FFF; //Byul Init 0x0000 + RequestRegLen = 27; + sCmd = CsSerialCommFunctionDelta.READ_INPUT_REG; // Command 0x04 + rFlag = true; + break; + } + if (sCmd == CsSerialCommFunctionDelta.NO_CMD) + { + sData = null; + } + else if (sCmd == CsSerialCommFunctionDelta.READ_DEV_ID) + { + sData = CsSerialCommFunctionDelta.MakeReadDevIdRegReqData((ushort)ModuleID, sCmd, RequestRegAddr); + } + else + { + sData = CsSerialCommFunctionDelta.MakeReadRegisterData((ushort)ModuleID, sCmd, RequestRegAddr, RequestRegLen); + } + } + } + return sData; + } + + #endregion + + #region COMM THREAD + + private readonly byte[] ReadBuf = new byte[RX_PACKET_BUFFER_SIZE]; + ushort rPosition = 0; + bool BuffStart = false; + + private void RecvPacketInit() + { + BuffStart = false; + rPosition = 0; + } + + private void uartCommThreadSB(CancellationToken token) + { + int RecvTimeout = Config.RecvWaitTime; + int COMM_TIMEOUT_MS = Config.CommFailTime; // 5초 동안 수신 없으면 Fail + DateTime[] LastReceiveTime = new DateTime[csConstData.SystemInfo.MAX_MODULE_SIZE]; + + // ★ 마지막 수신 시간 초기화 (현재 시각 기준) + var now = DateTime.UtcNow; + for (int i = 0; i < LastReceiveTime.Length; i++) + LastReceiveTime[i] = now; + + StartSend: + while (!token.IsCancellationRequested && !_serialPortThreadEnd) + { + if (sPort == null || !sPort.IsOpen) { Thread.Sleep(50); continue; } + + FlushBuff(); + + byte[] txData = MakeTxDataDelta(false); + if (txData != null) + { + try + { + sPort.Write(txData, 0, txData.Length); + RaiseOnPrint(txData[0], csLog.trx_data_print(txData, txData.Length, 0)); + } + catch + { + /* 로그 */ + RaiseOnPrint(ModuleID, "UART Thread - TX Buff Error !"); + } + } + + if (rFlag) + { + var deadline = DateTime.UtcNow.AddMilliseconds(RecvTimeout); + RecvPacketInit(); + + while (DateTime.UtcNow < deadline) + { + int gd = GetBuff(); + if ((gd & 0x0100) == 0) { Thread.Sleep(1); continue; } + + byte cData = (byte)(gd & 0xFF); + + if (!BuffStart) + { + if (cData == (byte)ModuleID || cData == 0x7F) + { + rPosition = 0; + ReadBuf[rPosition++] = cData; + BuffStart = true; + } + } + else + { + if (rPosition >= ReadBuf.Length) { RecvPacketInit(); continue; } + ReadBuf[rPosition++] = cData; + + int chk = CsSerialCommFunctionDelta.ModbusPacketFromSlaveCheck(ReadBuf, rPosition); + if (chk == 0) continue; + + RaiseOnPrint(ReadBuf[0], csLog.trx_data_print(ReadBuf, rPosition, 1)); + + if (chk == 1) + { + int mID = ReadBuf[0]; + if (mID > 0) mID--; + if (mID >= 0 && mID < ModuleData.Length) + { + // 마지막 정상 업데이트 시간 기록 + LastReceiveTime[mID] = DateTime.UtcNow; + + ModuleData[mID].CommFail = false; + ModuleData[mID].ShelfCommFail = false; + var rc = CsSerialCommFunctionDelta.SerialRxProcess( + ReadBuf, RequestRegAddr, (ushort)rPosition, ref ModuleData[mID]); + } + + var snapshot1 = ModuleData; // 필요 시 DeepCopy + RaiseOnUpdate(snapshot1); + Thread.Sleep(5); + goto StartSend; + } + else if (chk == 2) + { + rFlag = false; + RaiseOnPrint(ReadBuf[0], csLog.trx_data_print(ReadBuf, rPosition, 1)); + + byte[] adata = new byte[rPosition + 1]; + for (int j = 0; j < adata.Length; j++) + { + adata[j] = ReadBuf[j]; + } + RaiseOnDataRecv(adata); + + goto StartSend; + } + else // -1 + { + RecvPacketInit(); + Thread.Sleep(50); + goto StartSend; + } + } + } + + // timeout + if (rPosition > 0) + { + RaiseOnPrint(ReadBuf[0], csLog.trx_data_print(ReadBuf, rPosition, 1)); + } + else + { + int idx = csUtils.MathEx.Clamp(ModuleID - 1, 0, csConstData.SystemInfo.MAX_MODULE_SIZE - 1); + + // 아직 한 번도 정상 수신한 적 없는 경우 MinValue일 수 있으므로, + // 첫 타임아웃에서는 기준 시간을 현재로 초기화해 준다. + if (LastReceiveTime[idx] == DateTime.MinValue) + LastReceiveTime[idx] = DateTime.UtcNow; + + // 시간 차이 계산 + var elapsed = (DateTime.Now - LastReceiveTime[idx]).TotalMilliseconds; + + if (elapsed >= COMM_TIMEOUT_MS) + { + // Fail 처리 + if (!ModuleData[idx].ShelfCommFail) + { + ModuleData[idx].Reset(); + ModuleData[idx].ShelfCommFail = true; + } + + ModuleData[idx].CommFail = true; + ModuleData[idx].ShelfCommFail = true; + } + Thread.Sleep(100); + } + var snapshot2 = ModuleData; // 필요 시 DeepCopy + RaiseOnUpdate(snapshot2); + } + else + { + Thread.Sleep(10); + } /* if (rFlag == true) */ + rPosition = 0; + Thread.Sleep(100); + } + } + + #endregion + } +} diff --git a/LFP_Manager/Threads/csDbThread.cs b/LFP_Manager/Threads/csDbThread.cs new file mode 100644 index 0000000..896698e --- /dev/null +++ b/LFP_Manager/Threads/csDbThread.cs @@ -0,0 +1,1014 @@ +using LFP_Manager.DataStructure; +using LFP_Manager.Function; +using LFP_Manager.Utils; +using System; +using System.ComponentModel; +using System.Data; +using System.Data.SQLite; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Threading; +using System.Windows.Forms; + +namespace LFP_Manager.Threads +{ + class csDbThread + { + #region DELEGATE + public delegate void UpdateAlarmHistory(DataTable aAlarmHistoryData); + #endregion + + #region VARIABLES + + CommConfig Config = new CommConfig(); + CsDeviceData DeviceData; + + CsDeviceData OldDevData; + + DataTable CurrAlarmHistory; + + private Thread _dbProc; // ← 생성자에서 만들지 않음 + private volatile bool _dbThreadEnd = true; + private volatile bool Active = false; + + private readonly object _stateLock = new object(); + private readonly ISynchronizeInvoke _ui; // 보통 Form 또는 Control + + private int mQty = 1; + + public event EventHandler OnPrint; + public event UpdateAlarmHistory OnUpdateAlarmHistory = null; + + #endregion + + #region CONSTRUCTORS + + public csDbThread(CommConfig aConfig, + ISynchronizeInvoke uiInvoker, + CsDeviceData aModuleData) + { + Config = aConfig; + DeviceData = aModuleData; + OldDevData = new CsDeviceData(); + + _ui = uiInvoker; + } + + public void Dispose() + { + Stop(); + } + + public bool Start(CommConfig aConfig) + { + if (_dbProc != null && _dbProc.IsAlive) return false; + + Config = aConfig; + mQty = (Config.CommType == csConstData.CommType.COMM_RS485) ? Config.ModuleQty : 1; + + if (_dbProc != null && _dbProc.IsAlive) + return true; // 이미 동작 중 + + _dbThreadEnd = false; + Active = true; + + // DB 경로 준비 (예외는 루프에서 잡히지만 시작 시도 전 준비) + try + { + string modelname = csConstData.UART_MODEL[Config.UartModelIndex]; + csDbUtils.LogDbCreate(modelname); + DbCreate(modelname, DateTime.Now); + + // 최초 활성 진입 + if (Active) + { + // START 정보 기록 + _ = BmsAlarmDataInsert(modelname, (int)DbConstData.Alarm.START, (int)DbConstData.Flag.INFORMATION, DeviceData.ModuleData[0], DateTime.Now); + } + } + catch (Exception ex) + { + RaiseOnPrint($"DB init error: {ex.Message}"); + } + + _dbProc = new Thread(dbThreadProcess) + { + IsBackground = true, + Name = "DbThread" + }; + _dbProc.Start(); + return true; + } + + public void Stop() + { + Active = false; + _dbThreadEnd = true; + + var t = _dbProc; + if (t != null && t.IsAlive) + { + for (int i = 0; i < 5 && t.IsAlive; i++) + t.Join(200); // 최대 약 1초 + } + _dbProc = null; + + // ★ 종료 직전 1회 저장/알람 기록 + FlushNow("Stop"); + } + + #endregion + + #region SAFETY RAISE HELPER + private void RaiseOnUpdateAlarmHistory(DataTable dt) + { + if (_ui != null && _ui.InvokeRequired) + _ui.BeginInvoke(new Action(() => OnUpdateAlarmHistory?.Invoke(dt)), null); + else + OnUpdateAlarmHistory?.Invoke(dt); + } + + private void RaiseOnPrint(string msg) + { + var handler = OnPrint; + if (handler == null) return; + + var args = new PrintEventArgs(0, msg); + + if (_ui != null && _ui.InvokeRequired) + { + try { _ui.BeginInvoke(new Action(() => handler(this, args)), null); } + catch { } + } + else + { + handler(this, args); + } + } + #endregion + + #region DB THREAD + + private void dbThreadProcess() + { + int periodSec = Math.Max(1, Config.DbLogPeriod); // 0 방지 + string modelName = csConstData.UART_MODEL[Config.UartModelIndex]; + + // 마지막 기록 시각 (UTC 권장; 로컬도 무방하지만 일관성 위해 UTC 사용) + DateTime lastLogUtc = DateTime.UtcNow; + + try + { + CurrAlarmHistory = csDbUtils.GetBmsAlarmDataByDataTable(modelName, DateTime.Now, ""); + RaiseOnUpdateAlarmHistory(CurrAlarmHistory); // UI 마샬링 버전 + } + catch (Exception ex) + { + csLog.SystemDbErrorLog(Config, ex.Message, DateTime.Now, Application.ExecutablePath); + } + + while (!_dbThreadEnd) + { + if (Active) + { + DateTime nowLocal = DateTime.Now; + DateTime nowUtc = DateTime.UtcNow; + + // “초 변경” + “주기 정합” 검사 + // ★ 경과 시간 기반 주기 체크 (초 단위 주기 모두 정확) + if ((nowUtc - lastLogUtc).TotalSeconds >= periodSec) + { + // Database Log Process + try + { + CsDeviceData snapshot; + lock (_stateLock) { snapshot = DeviceData.DeepCopy(); } + + int count = Math.Max(1, mQty); + for (int i = 0; i < count; i++) + { + // RS-485는 i+1, 단일 UART는 1 + snapshot.ModuleData[i].mNo = + (Config.CommType == csConstData.CommType.COMM_RS485) ? (i + 1) : 1; + + csDbUtils.BmsLogDataInsert(modelName, ref snapshot.ModuleData[i], nowLocal, 1); + } + } + catch (Exception ex) + { + RaiseOnPrint($"DB loop error: {ex.Message}"); + } + finally + { + // ★ 마지막 로그 시각 갱신 (드리프트 최소화를 원하면 lastLogUtc += TimeSpan.FromSeconds(periodSec)) + lastLogUtc = nowUtc; + } + } + + try + { + // Alarm History Log + modelName = csConstData.UART_MODEL[Config.UartModelIndex]; + csDbUtils.LogDbCreate(modelName); + + for (int i = 0; i < mQty; i++) + { + if (CheckStatusAndAlarm(i, modelName, Config, DeviceData.ModuleData[i], OldDevData.ModuleData[i])) + { + CurrAlarmHistory = csDbUtils.GetBmsAlarmDataByDataTable(modelName, DateTime.Now, ""); + RaiseOnUpdateAlarmHistory(CurrAlarmHistory); + } + } + } + catch (Exception ex) + { + csLog.SystemDbErrorLog(Config, ex.Message, DateTime.Now, Application.ExecutablePath); + } + } + Thread.Sleep(100); + } + } + + #endregion + + #region BMS ALARM DB INSERT FUNCTION + public static bool BmsAlarmDataInsert1(string modelname, CommConfig aConfig, int aAlarmCode, int aAlarmStatus, CsDeviceData.DeviceModuleData mData, DateTime dateTime) + { + bool resultFlag = false; + string result = ""; + //public static string LogDbFileNameFormat = @"\{0}\{1}_{2}_LOG.DB"; + string dbFilename = string.Format(csDbUtils.LogDbFileNameFormat + , String.Format("{0:yyMM}", DateTime.Now) + , String.Format("{0:yyMMdd}", DateTime.Now) + , modelname + ); + string dbFilePath = Path.GetDirectoryName(Application.ExecutablePath) + csDbUtils.LogDbFilePath + dbFilename; + + if (Directory.Exists(Path.GetDirectoryName(dbFilePath)) == false) + { + throw new Exception("No Log DB file path"); + } + + if (File.Exists(dbFilePath) == false) + { + throw new Exception(String.Format("No Log DB file - BmsAlarmDataInsertByModule ({0})", dbFilename)); + } + + // Open database + string strConn = @"Data Source=" + dbFilePath; + using (SQLiteConnection connection = new SQLiteConnection(strConn)) + { + try + { + connection.Open(); + csDbUtils.BeginTran(connection); + + // Insert System data + using (SQLiteCommand command = connection.CreateCommand()) + { + //sSQL = "insert into TrendTable ( TrendStamp, TagName, TagValue) Values ( " + IntToStr(stamp) + "," + name + "," + value + ");"; + command.CommandText = String.Format("INSERT INTO TAlarmHistory ("); + command.CommandText += "create_date" // 0 + + ", alarm_code" // 1 + + ", alarm_status" // 2 + + ", alarm_cname" // 3 + + ", alarm_sname" // 4 + + ", module_no" // 5 + + ", ct_no" // 6 + + ", alarm_param_1" // 7 + + ", alarm_param_2" // 8 + + ", alarm_param_3" // 9 + ; + command.CommandText = command.CommandText + + ")" + + " Values ("; + + int total = 10; + + for (int i = 0; i < (total - 1); i++) command.CommandText += "?,"; + command.CommandText += "?);"; + + SQLiteParameter[] p = new SQLiteParameter[total]; + + for (int i = 0; i < total; i++) + { + if (i == 0) + { + p[i] = new SQLiteParameter(DbType.DateTime); + } + else + { + p[i] = new SQLiteParameter(); + } + command.Parameters.Add(p[i]); + } + + int j = 0; + p[j++].Value = dateTime; // 0 create_date + p[j++].Value = aAlarmCode; // 1 alarm_code + p[j++].Value = aAlarmStatus; // 2 alarm_status + p[j++].Value = DbConstData.GetAlarmName(aAlarmCode); // 3 alarm_cname + p[j++].Value = DbConstData.GetFlagName(aAlarmStatus); // 4 alarm_sname + p[j++].Value = mData.mNo; // 5 module_no + switch (aAlarmCode) + { + case 0: // Cell Under Voltage + p[j++].Value = mData.AvgData.minCellNum; // 6 ct_no + p[j++].Value = mData.AvgData.minCellVoltage; // 7 alarm_param_1 + p[j++].Value = 0; // 8 alarm_param_2 + p[j++].Value = 0; // 9 alarm_param_3 + break; + case 1: // Cell Over Voltage + p[j++].Value = mData.AvgData.maxCellNum; // 6 ct_no + p[j++].Value = mData.AvgData.maxCellVoltage; // 7 alarm_param_1 + p[j++].Value = 0; // 8 alarm_param_2 + p[j++].Value = 0; // 9 alarm_param_3 + break; + case 2: // Module Under Voltage + p[j++].Value = 0; // 6 ct_no + p[j++].Value = mData.ValueData.voltage; // 7 alarm_param_1 + p[j++].Value = 0; // 8 alarm_param_2 + p[j++].Value = 0; // 9 alarm_param_3 + break; + case 3: // Module Over Voltage + p[j++].Value = 0; // 6 ct_no + p[j++].Value = mData.ValueData.voltage; // 7 alarm_param_1 + p[j++].Value = 0; // 8 alarm_param_2 + p[j++].Value = 0; // 9 alarm_param_3 + break; + case 4: // Charge High Temperature + p[j++].Value = mData.AvgData.maxTempNum; // 6 ct_no + p[j++].Value = mData.AvgData.maxTemp; // 7 alarm_param_1 + p[j++].Value = 0; // 8 alarm_param_2 + p[j++].Value = 0; // 9 alarm_param_3 + break; + case 5: // Discharge High Temperature + p[j++].Value = mData.AvgData.maxTempNum; // 6 ct_no + p[j++].Value = mData.AvgData.maxTemp; // 7 alarm_param_1 + p[j++].Value = 0; // 8 alarm_param_2 + p[j++].Value = 0; // 9 alarm_param_3 + break; + case 6: // Charge Low Temperature + p[j++].Value = mData.AvgData.minTempNum; // 6 ct_no + p[j++].Value = mData.AvgData.minTemp; // 7 alarm_param_1 + p[j++].Value = 0; // 8 alarm_param_2 + p[j++].Value = 0; // 9 alarm_param_3 + break; + case 7: // Discharge Low Temperature + p[j++].Value = mData.AvgData.minTempNum; // 6 ct_no + p[j++].Value = mData.AvgData.minTemp; // 7 alarm_param_1 + p[j++].Value = 0; // 8 alarm_param_2 + p[j++].Value = 0; // 9 alarm_param_3 + break; + case 8: // Charge Over Current + p[j++].Value = 0; // 6 ct_no + p[j++].Value = mData.ValueData.current; // 7 alarm_param_1 + p[j++].Value = 0; // 8 alarm_param_2 + p[j++].Value = 0; // 9 alarm_param_3 + break; + case 9: // Discharge Over Current + p[j++].Value = 0; // 6 ct_no + p[j++].Value = mData.ValueData.current; // 7 alarm_param_1 + p[j++].Value = 0; // 8 alarm_param_2 + p[j++].Value = 0; // 9 alarm_param_3 + break; + case 10: // Low SOC + p[j++].Value = 0; // 6 ct_no + p[j++].Value = mData.ValueData.SOC; // 7 alarm_param_1 + p[j++].Value = 0; // 8 alarm_param_2 + p[j++].Value = 0; // 9 alarm_param_3 + break; + case 11: // Low SOH + p[j++].Value = 0; // 6 ct_no + p[j++].Value = mData.ValueData.SOH; // 7 alarm_param_1 + p[j++].Value = 0; // 8 alarm_param_2 + p[j++].Value = 0; // 9 alarm_param_3 + break; + case 12: // Cell Voltage Difference + p[j++].Value = 0; // 6 ct_no + p[j++].Value = mData.AvgData.minCellVoltage; // 7 alarm_param_1 + p[j++].Value = mData.AvgData.maxCellVoltage; // 8 alarm_param_2 + p[j++].Value = 0; // 9 alarm_param_3 + break; + case 13: // Short Circuit + p[j++].Value = 0; // 6 ct_no + p[j++].Value = mData.ValueData.voltage; // 7 alarm_param_1 + p[j++].Value = mData.ValueData.current; // 8 alarm_param_2 + p[j++].Value = 0; // 9 alarm_param_3 + break; + case 14: // Module Comm Fail + p[j++].Value = 0; // 6 ct_no + p[j++].Value = mData.ValueData.voltage; // 7 alarm_param_1 + p[j++].Value = mData.ValueData.current; // 8 alarm_param_2 + p[j++].Value = 0; // 9 alarm_param_3 + break; + + case 15: // Cell Voltage Measurement Error + p[j++].Value = 0; // 6 ct_no + p[j++].Value = mData.AvgData.minCellVoltage; // 7 alarm_param_1 + p[j++].Value = mData.AvgData.maxCellVoltage; // 8 alarm_param_2 + p[j++].Value = 0; // 9 alarm_param_3 + break; + case 16: // Temperature Measurement Error + p[j++].Value = 0; // 6 ct_no + p[j++].Value = mData.AvgData.minTemp; // 7 alarm_param_1 + p[j++].Value = mData.AvgData.maxTemp; // 8 alarm_param_2 + p[j++].Value = 0; // 9 alarm_param_3 + break; + case 17: // Battery Cell Unbalance + p[j++].Value = 0; // 6 ct_no + p[j++].Value = mData.AvgData.minCellVoltage; // 7 alarm_param_1 + p[j++].Value = mData.AvgData.maxCellVoltage; // 8 alarm_param_2 + p[j++].Value = 0; // 9 alarm_param_3 + break; + case 18: // Emergency Alarm + p[j++].Value = 0; // 6 ct_no + p[j++].Value = mData.ValueData.voltage; // 7 alarm_param_1 + p[j++].Value = mData.ValueData.current; // 8 alarm_param_2 + p[j++].Value = 0; // 9 alarm_param_3 + break; + + case 21: // STS_STAND_BY + case 22: // STS_CHARING + case 23: // STS_DISCHARGING + case 24: // STS_FLOAT_CHARGING + p[j++].Value = 0; // 6 ct_no + p[j++].Value = mData.ValueData.voltage; // 7 alarm_param_1 + p[j++].Value = mData.ValueData.current; // 8 alarm_param_2 + p[j++].Value = 0; // 9 alarm_param_3 + break; + default: // STS_UNKNOWN + p[j++].Value = 0; // 6 ct_no + p[j++].Value = 0; // 7 alarm_param_1 + p[j++].Value = 0; // 8 alarm_param_2 + p[j++].Value = 0; // 9 alarm_param_3 + break; + } + + command.ExecuteNonQuery(); + csDbUtils.CommitTran(connection); + + resultFlag = true; + } + } + catch (Exception e) + { + result = e.Message; + } + finally + { + if (connection.State == ConnectionState.Open) + { + connection.Close(); + } + if (result != "") + { + throw new Exception(result); + } + } + } + return resultFlag; + } + #endregion + + #region ALARM STATUS CHECK + private bool CheckStatusAndAlarm(int mNo, string modelName, CommConfig aConfig, CsDeviceData.DeviceModuleData nModule, CsDeviceData.DeviceModuleData oModule) + { + bool eventFlag = false; + + if (nModule == null || oModule == null) + return false; + + // 현재/이전 경고/보호/에러 비트 + bool[] wNew = csUtils.UInt16ToBitArray((ushort)nModule.StatusData.warning); + bool[] pNew = csUtils.UInt16ToBitArray((ushort)nModule.StatusData.protect); + bool[] eNew = csUtils.UInt16ToBitArray((ushort)nModule.StatusData.errorCode); + + bool[] wOld = csUtils.UInt16ToBitArray((ushort)oModule.StatusData.warning); + bool[] pOld = csUtils.UInt16ToBitArray((ushort)oModule.StatusData.protect); + bool[] eOld = csUtils.UInt16ToBitArray((ushort)oModule.StatusData.errorCode); + + var alarmData = new THistoryAlarmData(); + DateTime now = DateTime.Now; + + // 시스템 통신 상태 변화 기록 + if (oModule.CommFail != nModule.CommFail) + { + eventFlag |= BmsAlarmDataInsert(modelName, (int)DbConstData.Alarm.COMM_FAIL, + nModule.CommFail ? (int)DbConstData.Flag.WARNING : (int)DbConstData.Flag.RELEASE, nModule, now); + oModule.CommFail = nModule.CommFail; + } + // 0..15 비트에 대한 경고/보호 엣지 검사 + for (int i = 0; i < 16; i++) + { + alarmData.newFdata = pNew[i]; + alarmData.oldFdata = pOld[i]; + alarmData.newWdata = wNew[i]; + alarmData.oldWdata = wOld[i]; + + switch (i) + { + case 0: // Over Voltage 0X0001 + eventFlag |= InsertAlarmHistory(modelName, alarmData, (int)DbConstData.Alarm.OVER_VOLTAGE, nModule, now); + break; + case 1: // Cell Over Voltage 0x0002 + eventFlag |= InsertAlarmHistory(modelName, alarmData, (int)DbConstData.Alarm.CELL_OVER_VOLTAGE, nModule, now); + break; + case 2: // Under Voltage 0x0004 + eventFlag |= InsertAlarmHistory(modelName, alarmData, (int)DbConstData.Alarm.UNDER_VOLTAGE, nModule, now); + break; + case 3: // Cell Under Voltage 0x0008 + eventFlag |= InsertAlarmHistory(modelName, alarmData, (int)DbConstData.Alarm.CELL_UNDER_VOLTAGE, nModule, now); + break; + case 4: // Charge Over Current 0x0010 + eventFlag |= InsertAlarmHistory(modelName, alarmData, (int)DbConstData.Alarm.CHARGE_OVER_CURRENT, nModule, now); + break; + case 5: // Discharge Over Current 0x0020 + eventFlag |= InsertAlarmHistory(modelName, alarmData, (int)DbConstData.Alarm.DISCHARGE_OVER_CURRENT, nModule, now); + break; + case 6: // Reserved 0x0040 + break; + case 7: // MOSFET Over Temperature 0x0080 + eventFlag |= InsertAlarmHistory(modelName, alarmData, (int)DbConstData.Alarm.MOSFET_OVER_TERMPERATURE, nModule, now); + break; + case 8: // Charge Over Temperature 0x0100 + eventFlag |= InsertAlarmHistory(modelName, alarmData, (int)DbConstData.Alarm.CHARGE_OVER_TEMPERATURE, nModule, now); + break; + case 9: // Discharge Over Temperature 0x0200 + eventFlag |= InsertAlarmHistory(modelName, alarmData, (int)DbConstData.Alarm.DISCHARGE_OVER_TEMPERATURE, nModule, now); + break; + case 10: // Charge Low Temperature 0x0400 + eventFlag |= InsertAlarmHistory(modelName, alarmData, (int)DbConstData.Alarm.CHARGE_LOW_TEMPERATURE, nModule, now); + break; + case 11: // Discharge Low Temperature 0x0800 + eventFlag |= InsertAlarmHistory(modelName, alarmData, (int)DbConstData.Alarm.DISCHARGE_LOW_TEMPERATURE, nModule, now); + break; + case 12: // Low Capacity(SOC) 0x1000 + eventFlag |= InsertAlarmHistory(modelName, alarmData, (int)DbConstData.Alarm.LOW_SOC, nModule, now); + break; + case 13: // Short Circuit 0x2000 + eventFlag |= InsertAlarmHistory(modelName, alarmData, (int)DbConstData.Alarm.SHORT_CIRCUIT, nModule, now); + break; + case 14: // CB OFF 0x4000 + eventFlag |= InsertAlarmHistory(modelName, alarmData, (int)DbConstData.Alarm.CB_OFF, nModule, now); + break; + } + } + // Update last alarm status + oModule.StatusData.warning = nModule.StatusData.warning; + oModule.StatusData.protect = nModule.StatusData.protect; + + // 0..15 비트에 대한 Error 엣지 검사 + for (int i = 0; i < 16; i++) + { + alarmData.newEdata = eNew[i]; + alarmData.oldEdata = eOld[i]; + + switch (i) + { + case 0: // Voltage Measurement Error 0X0001 + eventFlag |= InsertErrorHistory(modelName, alarmData, (int)DbConstData.Alarm.VOLTAGE_MEASUREMENT_ERROR, nModule, now); + break; + case 1: // Temperature Measurement Error 0x0002 + eventFlag |= InsertErrorHistory(modelName, alarmData, (int)DbConstData.Alarm.TEMPERATURE_MEASUREMENT_ERROR, nModule, now); + break; + case 4: // Battery Cell Unbalance 0x0010 + eventFlag |= InsertErrorHistory(modelName, alarmData, (int)DbConstData.Alarm.BATTERY_CELL_UNBALANCE, nModule, now); + break; + case 5: // Emergency Alarm 0x0020 + eventFlag |= InsertErrorHistory(modelName, alarmData, (int)DbConstData.Alarm.EMERGENCY_ALARM, nModule, now); + break; + default: + // Reserved Error + break; + } + } + // Update last alarm status + oModule.StatusData.errorCode = nModule.StatusData.errorCode; + + // Check Status Change + if (oModule.StatusData.status != nModule.StatusData.status) + { + switch (nModule.StatusData.status) + { + case 0: // STANDBY + eventFlag = BmsAlarmDataInsert(modelName, (int)DbConstData.Alarm.STS_STAND_BY, + (int)DbConstData.Flag.STS_CHANGED, nModule, now); + break; + case 1: // CHARGING + eventFlag = BmsAlarmDataInsert(modelName, (int)DbConstData.Alarm.STS_CHARGING, + (int)DbConstData.Flag.STS_CHANGED, nModule, now); + break; + case 2: // DISCHARGING + eventFlag = BmsAlarmDataInsert(modelName, (int)DbConstData.Alarm.STS_DISCHARGING, + (int)DbConstData.Flag.STS_CHANGED, nModule, now); + break; + case 4: // PROTECT + eventFlag = BmsAlarmDataInsert(modelName, (int)DbConstData.Alarm.STS_PROTECTED, + (int)DbConstData.Flag.STS_CHANGED, nModule, now); + break; + default: // UNKNOWN + eventFlag = BmsAlarmDataInsert(modelName, (int)DbConstData.Alarm.STS_UNKNOWN, + (int)DbConstData.Flag.STS_CHANGED, nModule, now); + break; + } + oModule.StatusData.status = nModule.StatusData.status; + } + + if (eventFlag) + { + csDbUtils.BmsLogDataInsert(modelName, ref nModule, now, 1); + } + return eventFlag; + } + + private bool InsertAlarmHistory(string modelName, THistoryAlarmData AlarmData, int alarmCode, CsDeviceData.DeviceModuleData mData, DateTime dateTime) + { + bool resultFlag = false; + + // Check protection + if (AlarmData.oldFdata != AlarmData.newFdata) + { + if (AlarmData.newFdata) + { + // Faulty + resultFlag = BmsAlarmDataInsert(modelName, alarmCode, (int)DbConstData.Flag.PROTECT, mData, dateTime); + } + else + { + if (AlarmData.oldWdata != AlarmData.newWdata) + { + if (AlarmData.newWdata) + { + // Warning + resultFlag = BmsAlarmDataInsert(modelName, alarmCode, (int)DbConstData.Flag.WARNING, mData, dateTime); + } + else + { + // Release + resultFlag = BmsAlarmDataInsert(modelName, alarmCode, (int)DbConstData.Flag.RELEASE, mData, dateTime); + } + } + else + { + if (AlarmData.newWdata == false) + { + // Release + resultFlag = BmsAlarmDataInsert(modelName, alarmCode, (int)DbConstData.Flag.RELEASE, mData, dateTime); + } + } + } + } + else + { + if (AlarmData.oldWdata != AlarmData.newWdata) + { + if (AlarmData.newWdata) + { + // Warning + resultFlag = BmsAlarmDataInsert(modelName, alarmCode, (int)DbConstData.Flag.WARNING, mData, dateTime); + //IDInsert("", alarmCode, CsDbConstData.DB_ALARM.FLAG_WARNING); + } + else + { + if (AlarmData.newFdata == false) + { + // Release + resultFlag = BmsAlarmDataInsert(modelName, alarmCode, (int)DbConstData.Flag.RELEASE, mData, dateTime); + //IDInsert("", alarmCode, CsDbConstData.DB_ALARM.FLAG_RELEASE); + } + } + } + } + return resultFlag; + } + + private bool InsertErrorHistory(string modelName, THistoryAlarmData AlarmData, int alarmCode, CsDeviceData.DeviceModuleData mData, DateTime dateTime) + { + if (AlarmData.oldEdata == AlarmData.newEdata) return false; + + int status = AlarmData.newEdata ? (int)DbConstData.Flag.ERROR + : (int)DbConstData.Flag.RELEASE; + + return BmsAlarmDataInsert(modelName, alarmCode, status, mData, dateTime); + } + + #endregion + + #region BMS ALARM DB INSERT FUNCTION (C# 7.3 compatible) + public static bool BmsAlarmDataInsert( + string modelname, + int aAlarmCode, + int aAlarmStatus, + CsDeviceData.DeviceModuleData mData, + DateTime dateTime) + { + // 파일명/경로 안전 조합 + string dbFilename = string.Format( + csDbUtils.LogDbFileNameFormat, + DateTime.Now.ToString("yyMM"), + DateTime.Now.ToString("yyMMdd"), + modelname); + + string exeDir = Path.GetDirectoryName(Application.ExecutablePath); + if (string.IsNullOrEmpty(exeDir)) + exeDir = AppDomain.CurrentDomain.BaseDirectory; + + string logPath = (csDbUtils.LogDbFilePath ?? string.Empty) + .TrimStart(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar); + string dbDir = csUtils.CombineSafe(exeDir, logPath); + string dbFilePath = csUtils.CombineSafe(dbDir, dbFilename); + + if (!Directory.Exists(Path.GetDirectoryName(dbFilePath))) + throw new Exception("No Log DB file path"); + + if (!File.Exists(dbFilePath)) + throw new Exception(string.Format("No Log DB file - BmsAlarmDataInsertByModule ({0})", dbFilename)); + + // INSERT 대상 컬럼(총 10개) + // create_date, alarm_code, alarm_status, alarm_cname, alarm_sname, + // module_no, ct_no, alarm_param_1, alarm_param_2, alarm_param_3 + const int total = 10; + + using (var connection = new SQLiteConnection(@"Data Source=" + dbFilePath)) + { + connection.Open(); + // ★ 성능/동시성 PRAGMA 적용 (WAL + busy_timeout 등) — C# 7.3 호환 + csDbUtils.SqlitePragmaHelper.ApplyPragmas(connection, true); // forWriter: true + + using (var tran = connection.BeginTransaction()) + { + try + { + using (var command = connection.CreateCommand()) + { + command.Transaction = tran; + + command.CommandText = + "INSERT INTO TAlarmHistory (" + + "create_date, alarm_code, alarm_status, alarm_cname, alarm_sname, " + + "module_no, ct_no, alarm_param_1, alarm_param_2, alarm_param_3" + + ") VALUES (" + string.Join(",", Enumerable.Repeat("?", total)) + ");"; + + // 파라미터 생성 + var p = new SQLiteParameter[total]; + for (int i = 0; i < total; i++) + { + p[i] = (i == 0) ? new SQLiteParameter(DbType.DateTime) : new SQLiteParameter(); + command.Parameters.Add(p[i]); + } + + // 공통 메타 + int j = 0; + p[j++].Value = string.Format("{0:yyyy-MM-dd HH:mm:ss}", dateTime); // 0 create_date + p[j++].Value = aAlarmCode; // 1 alarm_code + p[j++].Value = aAlarmStatus; // 2 alarm_status + p[j++].Value = DbConstData.GetAlarmName(aAlarmCode); // 3 alarm_cname + p[j++].Value = DbConstData.GetFlagName(aAlarmStatus); // 4 alarm_sname + p[j++].Value = mData.mNo; // 5 module_no + + // 알람별 세부 파라미터 계산 + int ctNo = 0; + double param1 = 0, param2 = 0, param3 = 0; + + switch (aAlarmCode) + { + case 0: // Cell Under Voltage + ctNo = mData.AvgData.minCellNum; + param1 = mData.AvgData.minCellVoltage; param2 = 0; + break; + case 1: // Cell Over Voltage + ctNo = mData.AvgData.maxCellNum; + param1 = mData.AvgData.maxCellVoltage; param2 = 0; + break; + case 2: // Module Under Voltage + case 3: // Module Over Voltage + ctNo = 0; + param1 = mData.ValueData.voltage; param2 = 0; + break; + case 4: // Charge High Temperature + case 5: // Discharge High Temperature + ctNo = mData.AvgData.maxTempNum; + param1 = mData.AvgData.maxTemp; param2 = 0; + break; + case 6: // Charge Low Temperature + case 7: // Discharge Low Temperature + ctNo = mData.AvgData.minTempNum; + param1 = mData.AvgData.minTemp; param2 = 0; + break; + case 8: // Charge Over Current + case 9: // Discharge Over Current + ctNo = 0; + param1 = mData.ValueData.current; param2 = 0; + break; + case 10: // Low SOC + ctNo = 0; + param1 = mData.ValueData.SOC; param2 = 0; + break; + case 11: // Low SOH + ctNo = 0; + try + { + var sohProp = mData.ValueData.GetType().GetProperty("SOH"); + if (sohProp != null) + { + object v = sohProp.GetValue(mData.ValueData, null); + param1 = Convert.ToDouble(v); + } + else + { + param1 = mData.ValueData.SOC; + } + } + catch + { + param1 = mData.ValueData.SOC; + } + param2 = 0; + break; + case 12: // Cell Voltage Difference + ctNo = 0; + param1 = mData.AvgData.minCellVoltage; param2 = mData.AvgData.maxCellVoltage; + break; + case 13: // Short Circuit + ctNo = 0; + param1 = mData.ValueData.voltage; param2 = mData.ValueData.current; + break; + case 14: // Module Comm Fail + ctNo = 0; + param1 = 0; param2 = 0; + break; + case 15: // MOSFET Over Temerature + ctNo = 0; + param1 = mData.ValueData.MosTemperature; param2 = 0; + break; + case 16: // CB Off + ctNo = 0; + param1 = mData.ValueData.voltage; param2 = mData.ValueData.current; + break; + case 17: // Voltage Measurement Error + ctNo = 0; + param1 = mData.AvgData.minCellVoltage; param2 = mData.AvgData.maxCellVoltage; + break; + case 18: // Temperature Measurement Error + ctNo = 0; + param1 = mData.AvgData.minTemp; param2 = mData.AvgData.maxTemp; + break; + case 19: // Battery Cell Unbalance + ctNo = 0; + param1 = mData.AvgData.minCellVoltage; param2 = mData.AvgData.maxCellVoltage; + break; + case 20: // Emergency Alarm + ctNo = 0; + param1 = mData.ValueData.voltage; param2 = mData.ValueData.current; + break; + + // 상태 코드(스냅샷 저장) — 오타 보정: CHARING → CHARGING + case 21: // STS_STAND_BY + case 22: // STS_CHARGING + case 23: // STS_DISCHARGING + case 24: // STS_FLOAT_CHARGING + case 25: // STS_PRE_CHARGING + ctNo = 0; + param1 = mData.ValueData.voltage; param2 = mData.ValueData.current; + break; + + default: // STS_UNKNOWN 등 + ctNo = 0; param1 = 0; param2 = 0; param3 = 0; + break; + } + + p[j++].Value = ctNo; // 6 ct_no + p[j++].Value = param1; // 7 alarm_param_1 + p[j++].Value = param2; // 8 alarm_param_2 + p[j++].Value = param3; // 9 alarm_param_3 + + command.ExecuteNonQuery(); + } + tran.Commit(); + return true; + } + catch + { + try { tran.Rollback(); } catch { /* ignore */ } + throw; + } + finally + { + if (connection.State == ConnectionState.Open) + connection.Close(); + } + } + } + } + #endregion + + #region CREATE HISTORY DB TABLE + public static void DbCreate(string modelName, DateTime aDateTime) + { + // 일자 기준 DB 파일명 (yyMM/yyMMdd) + string dbFilename = string.Format( + csDbUtils.LogDbFileNameFormat, + aDateTime.ToString("yyMM"), + aDateTime.ToString("yyMMdd"), + modelName); + + // 실행파일 경로 + 로그 DB 상대경로 + 파일명 안전 결합 + string exeDir = Path.GetDirectoryName(Application.ExecutablePath); + if (string.IsNullOrEmpty(exeDir)) + exeDir = AppDomain.CurrentDomain.BaseDirectory; + + string logPath = (csDbUtils.LogDbFilePath ?? string.Empty) + .TrimStart(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar); + string dbDir = csUtils.CombineSafe(exeDir, logPath); + string dbFilePath = csUtils.CombineSafe(dbDir, dbFilename); + + if (Directory.Exists(System.IO.Path.GetDirectoryName(dbFilePath)) == false) + Directory.CreateDirectory(System.IO.Path.GetDirectoryName(dbFilePath)); + + if (File.Exists(dbFilePath) == false) + // Create database + SQLiteConnection.CreateFile(dbFilePath); + + // Open database + string strConn = @"Data Source=" + dbFilePath; + using (var connection = new SQLiteConnection(strConn)) + { + connection.Open(); + try + { + // Create table + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = DbConstData.Database.CreateTable; + command.ExecuteNonQuery(); + } + } + catch (Exception) + { + } + finally + { + connection.Close(); + } + } + } + #endregion + + #region FLUSH ALARM HISTORY + // csDbThread 클래스 내부 어딘가(예: #region DB THREAD 아래) + private void FlushNow(string reason = null) + { + try + { + if (Config == null) return; + + // 모델/수량 재확인 + var modelName = csConstData.UART_MODEL[Config.UartModelIndex]; + mQty = (Config.CommType == csConstData.CommType.COMM_RS485) ? Config.ModuleQty : 1; + + // 스냅샷 확보 + CsDeviceData snapshot; + lock (_stateLock) + { + snapshot = DeviceData != null ? DeviceData.DeepCopy() : null; + } + if (snapshot == null) return; + + var now = DateTime.Now; + var anyAlarm = false; + + // 모듈 값 1회 저장 + int count = Math.Max(1, mQty); + for (int i = 0; i < count; i++) + { + // RS-485는 i+1, 단일 UART는 1 + snapshot.ModuleData[i].mNo = + (Config.CommType == csConstData.CommType.COMM_RS485) ? (i + 1) : 1; + + csDbUtils.BmsLogDataInsert(modelName, ref snapshot.ModuleData[i], now, 1); + } + + // STOP 정보 기록 + anyAlarm |= BmsAlarmDataInsert(modelName, (int)DbConstData.Alarm.STOP, (int)DbConstData.Flag.INFORMATION, snapshot.ModuleData[0], now); + + if (anyAlarm) + { + CurrAlarmHistory = csDbUtils.GetBmsAlarmDataByDataTable(modelName, DateTime.Now, ""); + RaiseOnUpdateAlarmHistory(CurrAlarmHistory); + } + + if (!string.IsNullOrEmpty(reason)) + RaiseOnPrint($"DB flushed ({reason})."); + } + catch (Exception ex) + { + RaiseOnPrint($"Flush error{(reason != null ? "(" + reason + ")" : "")}: {ex.Message}"); + // 치명적 예외는 로깅만 하고 흐름 유지 + csLog.SystemDbErrorLog(Config, ex.Message, DateTime.Now, Application.ExecutablePath); + } + } + #endregion + } +} diff --git a/LFP_Manager/Threads/csUartThread.cs b/LFP_Manager/Threads/csUartThread.cs new file mode 100644 index 0000000..70ef8f1 --- /dev/null +++ b/LFP_Manager/Threads/csUartThread.cs @@ -0,0 +1,780 @@ +using System; + +using System.Threading; +using System.IO.Ports; +using System.Windows.Forms; + +using LFP_Manager.DataStructure; +using LFP_Manager.Function; +using LFP_Manager.Utils; +using DevExpress.XtraGauges.Core.Model; +using System.Collections.Concurrent; +using System.ComponentModel; + +namespace LFP_Manager.Threads +{ + #region DELEGATE + // 표준 이벤트 패턴 + public sealed class DataRecvEventArgs : EventArgs + { + public byte[] Data { get; } + public DataRecvEventArgs(byte[] data) => Data = data; + } + + public sealed class PrintEventArgs : EventArgs + { + public int Id { get; } + public string Message { get; } + public PrintEventArgs(int id, string message) + => (Id, Message) = (id, message); + } + #endregion + + class csUartThread + { + #region DELEGATE + // 표준 이벤트 패턴 + public sealed class ModuleDataEventArgs : EventArgs + { + public CsDeviceData.DeviceModuleData Module { get; } + public ModuleDataEventArgs(CsDeviceData.DeviceModuleData module) => Module = module; + } + #endregion + + #region CONSTANTS + private const int RX_PACKET_BUFFER_SIZE = 512; + #endregion + + #region VARIABLES + + private readonly CommConfig Config; + private CsDeviceData.DeviceModuleData ModuleData; + private Thread _serialComm = null; + private SerialPort sPort = null; + private CancellationTokenSource _cts; + private volatile bool _serialPortThreadEnd = true; + + private readonly ISynchronizeInvoke _ui; // 보통 Form 또는 Control + + public int ModuleId = 0; + private bool UartPolling = false; + private bool AutoUartTx = true; + + private int addr_ch = 0; + private ushort RequestRegAddr = 0x0000; //Byul Init 0x0000 + private ushort RequestRegLen = 50; + private bool rFlag = false; + private int rFlag2 = 0; + + private ushort ReadRegAddr = 0x0000; //Byul Init 0x0000 + private ushort ReadRegLen = 0x0000; //Byul Init 0x0000 + + private ushort WriteRegAddr = 0x0000; //Byul Init 0x0000 + private short WriteCoilRegData = 0; + private byte[] WriteRegData; + + private readonly ConcurrentQueue _rxQ = new ConcurrentQueue(); + + private TUartTxBuff UartTxBuff; + + // 이벤트 + public event EventHandler OnUpdate; + public event EventHandler OnDataRecv; + public event EventHandler OnPrint; + + #endregion + + #region CONSTRUCTORS + + public csUartThread(int mId, + CommConfig aConfig, + ISynchronizeInvoke uiInvoker, // ← 추가 + CsDeviceData.DeviceModuleData aModuleData) + { + ModuleId = mId; + Config = aConfig; + ModuleData = aModuleData; + _ui = uiInvoker; // Form(this) 또는 어떤 Control + + UartTxBuff = new TUartTxBuff(); + } + + public bool Start(ref CommConfig aConfig, int sId, bool aPolling) + { + ModuleId = sId; + UartPolling = aPolling; + + //if (!Open(aConfig.UartPort, aConfig.UartBaudrate)) + if (!Open(aConfig.UartPort, 115200)) + return false; + + // 이중 시작 방지 + if (_serialComm != null && _serialComm.IsAlive) + return true; + + _serialPortThreadEnd = false; + _cts = new CancellationTokenSource(); + + _serialComm = new Thread(() => uartCommThread(_cts.Token)) + { + IsBackground = true, + Name = "UartCommThread" + }; + _serialComm.Start(); + return true; + } + + private void Stop() + { + _serialPortThreadEnd = true; + var cts = _cts; + _cts = null; + if (cts != null && !cts.IsCancellationRequested) + cts.Cancel(); + + var t = _serialComm; + _serialComm = null; + if (t != null && t.IsAlive) + { + try { t.Join(500); } catch { /* timeout 시 로그만 */ } + } + + Close(); // SerialPort 닫기 및 핸들러 해제 + } + + public void Dispose() + { + Stop(); + } + + #endregion + + #region COMMPORT CONTROLS + + private void sDataReceived(object sender, SerialDataReceivedEventArgs e) + { + try + { + var sp = (SerialPort)sender; + int available = sp.BytesToRead; + if (available <= 0) return; + + byte[] tmp = new byte[available]; + int read = sp.Read(tmp, 0, tmp.Length); + for (int i = 0; i < read; i++) + _rxQ.Enqueue(tmp[i]); + } + catch (Exception) + { + /* 필요시 로그 */ + } + } + + private void sErrorReceived(object sender, System.IO.Ports.SerialErrorReceivedEventArgs e) + { + // + //csMakeDataFunction.SetData() + } + + private void sPinChanged(object sender, System.IO.Ports.SerialPinChangedEventArgs e) + { + // + } + + private bool Open(string cPort, int cBaudrate) + { + sPort = new SerialPort(); + sPort.PortName = cPort; + sPort.BaudRate = cBaudrate; + sPort.DataReceived += sDataReceived; + sPort.ErrorReceived += sErrorReceived; + sPort.PinChanged += sPinChanged; + + try + { + sPort.Open(); + } + catch (Exception ex) + { + throw new Exception("Error Open - " + ex.Message); + } + + return sPort.IsOpen; + } + + private void Close() + { + if (sPort != null) + { + try + { + sPort.DataReceived -= sDataReceived; + sPort.ErrorReceived -= sErrorReceived; + sPort.PinChanged -= sPinChanged; + if (sPort.IsOpen) sPort.Close(); + } + finally + { + sPort.Dispose(); + sPort = null; + } + } + } + + #endregion + + #region PUBLIC FUNCTION + + public void SetPolling(bool flag, int sId, ref CsDeviceData.DeviceModuleData aSystemData) + { + ModuleId = sId; + UartPolling = flag; + ModuleData = aSystemData; + ModuleData.mNo = ModuleId; + } + + public void SetAutoTx(bool autoTx) + { + AutoUartTx = autoTx; + } + + public void SetWriteReg(ushort WriteAddr, byte[] WriteData, bool ReplyFlag, int type) + { + WriteRegAddr = WriteAddr; + + TUartTRxData uartTRxData = new TUartTRxData(); + uartTRxData.type = type; + uartTRxData.data = WriteData; + uartTRxData.length = uartTRxData.data.Length; + + UartTxBuff?.PutBuff(uartTRxData); + } + + public void SetParam(ushort WriteAddr, short[] WriteData) + { + short[] wData = new short[1]; + wData[0] = WriteData[0]; + + byte[] sData = CsModbusFunction.MakeWriteRegisterData((ushort)ModuleId, WriteAddr, wData); + + if (sData != null) + { + TUartTRxData aData = new TUartTRxData(); + aData.length = sData.Length; + aData.data = sData; + + UartTxBuff.PutBuff(aData); + } + } + + public void SendProcessFromApp(int sId, int mode, int index, int flag + , ref CsDeviceData.DeviceModuleData.DeviceParamData aParam, ref CsDeviceData.DeviceModuleData.DeviceCalibration aCalib) + { + short[] data = null; + + switch (mode) + { + case csConstData.UART_PARAM_LIST.CELL_UNDER_VOLTAGE: // Cell Under Volatge Parameter + data = new short[1]; + data[0] = aParam.CellUnderVoltageWarning; SetParam((ushort)(mode + 0), data); + data[0] = aParam.CellUnderVoltageTrip; SetParam((ushort)(mode + 1), data); + data[0] = aParam.CellUnderVoltageRelease; SetParam((ushort)(mode + 2), data); + break; + case csConstData.UART_PARAM_LIST.CELL_OVER_VOLTAGE: // Cell Over Volatge Parameter + data = new short[1]; + data[0] = aParam.CellOverVoltageWarning; SetParam((ushort)(mode + 0), data); + data[0] = aParam.CellOverVoltageTrip; SetParam((ushort)(mode + 1), data); + data[0] = aParam.CellOverVoltageRelease; SetParam((ushort)(mode + 2), data); + break; + case csConstData.UART_PARAM_LIST.PACK_UNDER_VOLTAGE: // Pack Under Volatge Parameter + data = new short[1]; + data[0] = (short)(aParam.SysUnderVoltageWarning * 10); SetParam((ushort)(mode + 0), data); + data[0] = (short)(aParam.SysUnderVoltageTrip * 10); SetParam((ushort)(mode + 1), data); + data[0] = (short)(aParam.SysUnderVoltageRelease * 10); SetParam((ushort)(mode + 2), data); + break; + case csConstData.UART_PARAM_LIST.PACK_OVER_VOLTAGE: // Pack Over Volatge Parameter + data = new short[1]; + data[0] = (short)(aParam.SysOverVoltageWarning * 10); SetParam((ushort)(mode + 0), data); + data[0] = (short)(aParam.SysOverVoltageTrip * 10); SetParam((ushort)(mode + 1), data); + data[0] = (short)(aParam.SysOverVoltageRelease * 10); SetParam((ushort)(mode + 2), data); + break; + case csConstData.UART_PARAM_LIST.CHG_LOW_TEMPERATURE: // Charge Low Temperature Parameter + data = new short[1]; + data[0] = (short)(aParam.ChaLowTempWarning + 50); SetParam((ushort)(mode + 0), data); + data[0] = (short)(aParam.ChaLowTempTrip + 50); SetParam((ushort)(mode + 1), data); + data[0] = (short)(aParam.ChaLowTempRelease + 50); SetParam((ushort)(mode + 2), data); + break; + case csConstData.UART_PARAM_LIST.CHG_HIGH_TEMPERATURE: // Pack High Temperature Parameter + data = new short[1]; + data[0] = (short)(aParam.ChaHighTempWarning + 50); SetParam((ushort)(mode + 0), data); + data[0] = (short)(aParam.ChaHighTempTrip + 50); SetParam((ushort)(mode + 1), data); + data[0] = (short)(aParam.ChaHighTempRelease + 50); SetParam((ushort)(mode + 2), data); + break; + case csConstData.UART_PARAM_LIST.DCH_LOW_TEMPERATURE: // Charge Low Temperature Parameter + data = new short[1]; + data[0] = (short)(aParam.DchLowTempWarning + 50); SetParam((ushort)(mode + 0), data); + data[0] = (short)(aParam.DchLowTempTrip + 50); SetParam((ushort)(mode + 1), data); + data[0] = (short)(aParam.DchLowTempRelease + 50); SetParam((ushort)(mode + 2), data); + break; + case csConstData.UART_PARAM_LIST.DCH_HIGH_TEMPERATURE: // Pack High Temperature Parameter + data = new short[1]; + data[0] = (short)(aParam.DchHighTempWarning + 50); SetParam((ushort)(mode + 0), data); + data[0] = (short)(aParam.DchHighTempTrip + 50); SetParam((ushort)(mode + 1), data); + data[0] = (short)(aParam.DchHighTempRelease + 50); SetParam((ushort)(mode + 2), data); + break; + case csConstData.UART_PARAM_LIST.CHG_OVER_CURRENT: // Charge Over Current Parameter + data = new short[1]; + data[0] = (short)(aParam.ChaOverCurrentReleaseTime * 1); SetParam((ushort)(mode + 0), data); + data[0] = (short)(aParam.ChaOverCurrentTrip1 * 10); SetParam((ushort)(mode + 2), data); + data[0] = (short)(aParam.ChaOverCurrentTrip2 * 10); SetParam((ushort)(mode + 5), data); + break; + case csConstData.UART_PARAM_LIST.DCH_OVER_CURRENT: // Discharge Over Current Parameter + data = new short[1]; + data[0] = (short)(aParam.DchOverCurrentReleaseTime * 1); SetParam((ushort)(mode + 0), data); + data[0] = (short)(aParam.DchOverCurrentTrip1 * 10); SetParam((ushort)(mode + 2), data); + data[0] = (short)(aParam.DchOverCurrentTrip2 * 10); SetParam((ushort)(mode + 5), data); + break; + case csConstData.UART_PARAM_LIST.LOW_CAPACITY: + data = new short[1]; + data[0] = aParam.LowSocWarning; SetParam((ushort)(mode + 0), data); + break; + case csConstData.UART_PARAM_LIST.DEFAULT_PARAM: // Default Parameter + int i = 0; + + Forms.fmxWait WaitForm = new Forms.fmxWait(); + WaitForm.StartPosition = FormStartPosition.CenterScreen; + + try + { + //WaitForm.Show(); + data = new short[1]; + + i = csConstData.UART_PARAM_LIST.CELL_UNDER_VOLTAGE; + data[0] = csConstData.UART_PARAM_DEFAULT.Warn_Cell_UV; SetParam((ushort)(i + 0), data); + data[0] = csConstData.UART_PARAM_DEFAULT.Protect_Cell_UV; SetParam((ushort)(i + 1), data); + data[0] = csConstData.UART_PARAM_DEFAULT.Release_Cell_UV; SetParam((ushort)(i + 2), data); + i = csConstData.UART_PARAM_LIST.PACK_UNDER_VOLTAGE; + data[0] = csConstData.UART_PARAM_DEFAULT.Warn_Pack_UV; SetParam((ushort)(i + 0), data); + data[0] = csConstData.UART_PARAM_DEFAULT.Protect_Pack_UV; SetParam((ushort)(i + 1), data); + data[0] = csConstData.UART_PARAM_DEFAULT.Release_Pack_UV; SetParam((ushort)(i + 2), data); + i = csConstData.UART_PARAM_LIST.CELL_OVER_VOLTAGE; + data[0] = csConstData.UART_PARAM_DEFAULT.Warn_Cell_OV; SetParam((ushort)(i + 0), data); + data[0] = csConstData.UART_PARAM_DEFAULT.Protect_Cell_OV; SetParam((ushort)(i + 1), data); + data[0] = csConstData.UART_PARAM_DEFAULT.Release_Cell_OV; SetParam((ushort)(i + 2), data); + i = csConstData.UART_PARAM_LIST.PACK_OVER_VOLTAGE; + data[0] = csConstData.UART_PARAM_DEFAULT.Warn_Pack_OV; SetParam((ushort)(i + 0), data); + data[0] = csConstData.UART_PARAM_DEFAULT.Protect_Pack_OV; SetParam((ushort)(i + 1), data); + data[0] = csConstData.UART_PARAM_DEFAULT.Release_Pack_OV; SetParam((ushort)(i + 2), data); + + i = csConstData.UART_PARAM_LIST.CHG_OVER_CURRENT; + data[0] = csConstData.UART_PARAM_DEFAULT.Times_Charge_OC; SetParam((ushort)(i - 2), data); + data[0] = csConstData.UART_PARAM_DEFAULT.ReleaseTime_Charge_OC; SetParam((ushort)(i + 0), data); + data[0] = csConstData.UART_PARAM_DEFAULT.Protect_Charge_OC1; SetParam((ushort)(i + 2), data); + data[0] = csConstData.UART_PARAM_DEFAULT.Protect_Charge_OC2; SetParam((ushort)(i + 5), data); + data[0] = csConstData.UART_PARAM_DEFAULT.Delay_Charge_OC1; SetParam((ushort)(i + 8), data); + data[0] = csConstData.UART_PARAM_DEFAULT.Delay_Charge_OC2; SetParam((ushort)(i + 9), data); + + i = csConstData.UART_PARAM_LIST.DCH_OVER_CURRENT; + data[0] = csConstData.UART_PARAM_DEFAULT.Times_Discharge_OC; SetParam((ushort)(i - 2), data); + data[0] = csConstData.UART_PARAM_DEFAULT.ReleaseTime_Discharge_OC; SetParam((ushort)(i + 0), data); + data[0] = csConstData.UART_PARAM_DEFAULT.Protect_Discharge_OC1; SetParam((ushort)(i + 2), data); + data[0] = csConstData.UART_PARAM_DEFAULT.Protect_Discharge_OC2; SetParam((ushort)(i + 5), data); + data[0] = csConstData.UART_PARAM_DEFAULT.Delay_Discharge_OC1; SetParam((ushort)(i + 8), data); + data[0] = csConstData.UART_PARAM_DEFAULT.Delay_Discharge_OC2; SetParam((ushort)(i + 9), data); + + i = csConstData.UART_PARAM_LIST.CHG_LOW_TEMPERATURE; + data[0] = (short)(csConstData.UART_PARAM_DEFAULT.Warn_Charge_UT + 50); SetParam((ushort)(i + 0), data); + data[0] = (short)(csConstData.UART_PARAM_DEFAULT.Protect_Charge_UT + 50); SetParam((ushort)(i + 1), data); + data[0] = (short)(csConstData.UART_PARAM_DEFAULT.Release_Charge_UT + 50); SetParam((ushort)(i + 2), data); + i = csConstData.UART_PARAM_LIST.CHG_HIGH_TEMPERATURE; + data[0] = (short)(csConstData.UART_PARAM_DEFAULT.Warn_Charge_OT + 50); SetParam((ushort)(i + 0), data); + data[0] = (short)(csConstData.UART_PARAM_DEFAULT.Protect_Charge_OT + 50); SetParam((ushort)(i + 1), data); + data[0] = (short)(csConstData.UART_PARAM_DEFAULT.Release_Charge_OT + 50); SetParam((ushort)(i + 2), data); + i = csConstData.UART_PARAM_LIST.DCH_LOW_TEMPERATURE; + data[0] = (short)(csConstData.UART_PARAM_DEFAULT.Warn_Discharge_UT + 50); SetParam((ushort)(i + 0), data); + data[0] = (short)(csConstData.UART_PARAM_DEFAULT.Protect_Discharge_UT + 50); SetParam((ushort)(i + 1), data); + data[0] = (short)(csConstData.UART_PARAM_DEFAULT.Release_Discharge_UT + 50); SetParam((ushort)(i + 2), data); + i = csConstData.UART_PARAM_LIST.DCH_HIGH_TEMPERATURE; + data[0] = (short)(csConstData.UART_PARAM_DEFAULT.Warn_Discharge_OT + 50); SetParam((ushort)(i + 0), data); + data[0] = (short)(csConstData.UART_PARAM_DEFAULT.Protect_Discharge_OT + 50); SetParam((ushort)(i + 1), data); + data[0] = (short)(csConstData.UART_PARAM_DEFAULT.Release_Discharge_OT + 50); SetParam((ushort)(i + 2), data); + + i = csConstData.UART_PARAM_LIST.LOW_CAPACITY; + data[0] = csConstData.UART_PARAM_DEFAULT.Warn_Low_Capacity + 0; SetParam((ushort)(i + 0), data); + + i = csConstData.UART_PARAM_LIST.ENV_LOW_TEMPERATURE; + data[0] = 0; SetParam((ushort)(i + 0), data); + data[0] = 0; SetParam((ushort)(i + 1), data); + data[0] = 0; SetParam((ushort)(i + 2), data); + i = csConstData.UART_PARAM_LIST.ENV_HIGH_TEMPERATURE; + data[0] = 0; SetParam((ushort)(i + 0), data); + data[0] = 0; SetParam((ushort)(i + 1), data); + data[0] = 0; SetParam((ushort)(i + 2), data); + } + catch (Exception) + { + + } + finally + { + //WaitForm?.Close(); + } + break; + case 15: // Capcity change + data = new short[1]; + i = csConstData.UART_PARAM_LIST.DESIGN_CAPACITY; + data[0] = (short)aCalib.CapCalib.DesignCapacity; SetParam((ushort)(i + 0), data); + i = csConstData.UART_PARAM_LIST.SOC_VALUE; + data[0] = (short)aCalib.CapCalib.SocValue; SetParam((ushort)(i + 0), data); + break; + case 16: // Charge Mode + data = new short[1]; + i = csConstData.UART_CALIB_ADDR_LIST.CHAGE_MODE; + data[0] = (short)aCalib.ChaMode.Mode; SetParam((ushort)(i + 0), data); + data[0] = (short)aCalib.ChaMode.Value; SetParam((ushort)(i + 1), data); + break; + case 17: // BMS DateTime Set + data = new short[2]; + i = csConstData.UART_CALIB_ADDR_LIST.BMS_DATETIME; + data[0] = (short)aCalib.BmsDateTime.sValue[0]; + data[1] = (short)aCalib.BmsDateTime.sValue[1]; SetParam((ushort)(i + 0), data); + break; + case 18: + data = new short[1]; + i = csConstData.UART_CALIB_ADDR_LIST.ANTI_THEFT_GYRO; + data[0] = (short)aCalib.AntiTheft.GyroScope; SetParam((ushort)(i + 0), data); + break; + case 19: // Clear Protect + data = new short[1]; + i = csConstData.UART_CALIB_ADDR_LIST.ANTI_THEFT_GYRO; + data[0] = (short)0; SetParam((ushort)(i + 0), data); + data[0] = (short)aCalib.AntiTheft.GyroScope; SetParam((ushort)(i + 0), data); + break; + case 20: + data = new short[1]; + i = csConstData.UART_CALIB_ADDR_LIST.ANTI_THEFT_COMM; + data[0] = (short)aCalib.AntiTheft.Comm; SetParam((ushort)(i + 0), data); + break; + default: + break; + } + } + + #endregion + + #region RX BUFFERING + + private int GetBuff() + { + return _rxQ.TryDequeue(out var b) ? (0x0100 | b) : 0; + } + + private void FlushBuff() + { + while (_rxQ.TryDequeue(out _)) { } + } + + #endregion + + #region TX BUFFERING + + private byte[] MakeWriteRegData(ushort DevID, ushort WriteAddr, ushort WriteLen, ref ushort[] WriteData) + { + byte[] wData = null; + + if (WriteLen > 0) + { + + } + + return wData; + } + + private string MakeCheckSum(byte[] sData, int len) + { + string result = ""; + int checksum = 0; + + for (int i = 0; i < len; i++) + { + checksum += sData[i + 1]; + } + + checksum = ~checksum + 1; + + result = String.Format("{0:X2}{1:X2}", (byte)(checksum >> 8), (byte)checksum); + + return result; + } + + private byte[] MakeTxDataUart() + { + byte[] sData = null; + + rFlag2 = 0; + + if ((UartTxBuff != null) && (UartTxBuff.CheckBuff())) + { + TUartTRxData sBuff = UartTxBuff.GetBuff(); + if (sBuff != null) + { + sData = sBuff.data; + rFlag = true; + rFlag2 = sBuff.type; + } + } + else + { + if (UartPolling && AutoUartTx) + { + ushort sCmd; + switch (addr_ch) + { + case 0: + addr_ch = 1; + RequestRegAddr = 0x0000; //Byul Init 0x0000 + RequestRegLen = 0x0040; + sCmd = csSerialCommFunction.READ_HOLDING_REG; + rFlag = true; + break; + case 1: + addr_ch = 2; + RequestRegAddr = 0x0040; + RequestRegLen = 0x0040; + sCmd = csSerialCommFunction.READ_HOLDING_REG; + rFlag = true; + break; + case 2: + addr_ch = 3; + RequestRegAddr = 0x0080; + RequestRegLen = 0x0020 + 7; + sCmd = csSerialCommFunction.READ_HOLDING_REG; + rFlag = true; + break; + case 3: + if (Config.ModuleQty > 1) + { + ModuleId++; + if (ModuleId > Config.ModuleQty) + { + ModuleId = 1; + } + } + addr_ch = 0; + sCmd = csSerialCommFunction.NO_CMD; + rFlag = false; + break; + default: + addr_ch = 0; + RequestRegAddr = 0x0000; //Byul Init 0x0000 + RequestRegLen = 100; + sCmd = csSerialCommFunction.READ_HOLDING_REG; + break; + } + if (sCmd == csSerialCommFunction.NO_CMD) + { + sData = null; + } + else + { + sData = csSerialCommFunction.MakeReadRegisterData((ushort)ModuleId, sCmd, RequestRegAddr, RequestRegLen); + } + } + } + return sData; + } + + #endregion + + #region COMM THREAD + + private readonly byte[] ReadBuf = new byte[RX_PACKET_BUFFER_SIZE]; + ushort rPosition = 0; + bool BuffStart = false; + + private void RecvPacketInit() + { + BuffStart = false; + rPosition = 0; + } + + private void uartCommThread(CancellationToken token) + { + int RecvTimeout = Config.RecvWaitTime; + int TimeOutCount = 0; + + StartSend: + while (!token.IsCancellationRequested && !_serialPortThreadEnd) + { + if (sPort == null || !sPort.IsOpen) { Thread.Sleep(50); continue; } + + FlushBuff(); + + byte[] txData = MakeTxDataUart(); + if (txData != null) + { + try + { + sPort.Write(txData, 0, txData.Length); + RaiseOnPrint(txData[0], csLog.trx_data_print(txData, txData.Length, 0)); + } + catch + { + /* 로그 */ + RaiseOnPrint(ModuleId, "UART-232 Thread - TX Buff Error !"); + } + } + + if (rFlag == true) + { + var deadline = DateTime.UtcNow.AddMilliseconds(RecvTimeout); + RecvPacketInit(); + + while (DateTime.UtcNow < deadline) + { + int gd = GetBuff(); + if ((gd & 0x0100) == 0) { Thread.Sleep(1); continue; } + + byte cData = (byte)(gd & 0xFF); + + if (!BuffStart) + { + if (cData == (byte)ModuleId || cData == 0x7F) + { + rPosition = 0; + ReadBuf[rPosition++] = cData; + BuffStart = true; + } + } + else + { + if (rPosition >= ReadBuf.Length) { RecvPacketInit(); continue; } + ReadBuf[rPosition++] = cData; + + int chk = CsSerialCommFunctionDelta.ModbusPacketFromSlaveCheck(ReadBuf, rPosition); + if (chk == 0) continue; + + RaiseOnPrint(ReadBuf[0], csLog.trx_data_print(ReadBuf, rPosition, 1)); + + if (chk == 1) + { + int mID = ReadBuf[0]; + if (mID > 0) mID--; + ModuleData.CommFail = false; + ModuleData.ShelfCommFail = false; + var rc = csSerialCommFunction.SerialRxProcess( + ReadBuf, RequestRegAddr, (ushort)rPosition, ref ModuleData); + + var snapshot1 = ModuleData; // 필요 시 DeepCopy + RaiseOnUpdate(snapshot1); + Thread.Sleep(5); + goto StartSend; + } + else if (chk == 2) + { + rFlag = false; + RaiseOnPrint(ReadBuf[0], csLog.trx_data_print(ReadBuf, rPosition, 1)); + + goto StartSend; + } + else // -1 + { + RecvPacketInit(); + Thread.Sleep(50); + goto StartSend; + } + } + } + + // timeout + if (rPosition > 0) + { + RaiseOnPrint(ReadBuf[0], csLog.trx_data_print(ReadBuf, rPosition, 1)); + } + else + { + WriteRegAddr = 0; + TimeOutCount++; + if (TimeOutCount >= 5) + { + TimeOutCount = 5; + //SystemData[0].CommFail = true; + if (ModuleData.ShelfCommFail == false) + { + ModuleData.Reset(); + ModuleData.ShelfCommFail = true; + } + } + Thread.Sleep(100); + } + var snapshot2 = ModuleData; // 필요 시 DeepCopy + RaiseOnUpdate(snapshot2); + } + else + { + Thread.Sleep(100); + } /* if (rFlag == true) */ + rPosition = 0; + Thread.Sleep(50); + } + } + + #endregion + + #region SAFETY RAISE HELPER + private void RaiseOnUpdate(CsDeviceData.DeviceModuleData snapshot) + { + var handler = OnUpdate; + if (handler == null) return; + + var args = new ModuleDataEventArgs(snapshot); + + if (_ui != null && _ui.InvokeRequired) + { + try { _ui.BeginInvoke(new Action(() => handler(this, args)), null); } + catch { /* 폼 종료 중 등 예외 무시(로그만) */ } + } + else + { + handler(this, args); + } + } + + private void RaiseOnDataRecv(byte[] data) + { + var handler = OnDataRecv; + if (handler == null) return; + + var args = new DataRecvEventArgs(data); + + if (_ui != null && _ui.InvokeRequired) + { + try { _ui.BeginInvoke(new Action(() => handler(this, args)), null); } + catch { } + } + else + { + handler(this, args); + } + } + + private void RaiseOnPrint(int id, string msg) + { + var handler = OnPrint; + if (handler == null) return; + + var args = new PrintEventArgs(id, msg); + + if (_ui != null && _ui.InvokeRequired) + { + try { _ui.BeginInvoke(new Action(() => handler(this, args)), null); } + catch { } + } + else + { + handler(this, args); + } + } + #endregion + } +} diff --git a/LFP_Manager/Utils/CsCRC16.cs b/LFP_Manager/Utils/CsCRC16.cs new file mode 100644 index 0000000..71e3d18 --- /dev/null +++ b/LFP_Manager/Utils/CsCRC16.cs @@ -0,0 +1,89 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Text; +using System.Threading.Tasks; + +namespace LFP_Manager.Utils +{ + internal class CsCRC16 + { + static readonly byte[] auchCRCHi = { + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, + 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, + 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, + 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, + 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, + 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, + 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, + 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, + 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, + 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, + 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, + 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, + 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, + 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,0x40 + }; + + static readonly byte[] auchCRCLo = { + 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4, + 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, + 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, + 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, + 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7, + 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, + 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, + 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, + 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2, + 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, + 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, + 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, + 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91, + 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, + 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, + 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, + 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80,0x40 + }; + private static ushort GetCrc16(byte[] pby, int nSize) + { + byte hi = 0xFF, lo = 0xFF; + for (int i = 0; i < nSize; i++) + { + ushort idx = (ushort)(lo ^ pby[i]); + lo = (byte)(hi ^ auchCRCHi[idx]); + hi = auchCRCLo[idx]; + } + return (ushort)((hi << 8) | lo); // [Hi:lo>>8 | Lo:lo] + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static bool TryAppendCrcLowHigh(byte[] buf, int payloadLen, int type) + { + if (buf == null || payloadLen < 0 || buf.Length < payloadLen + 2) + return false; + + ushort crc = GetCrc16(buf, payloadLen); + buf[payloadLen + 0] = (byte)((crc >> 0) & 0xFF); // Low + buf[payloadLen + 1] = (byte)((crc >> 8) & 0xFF); // High + + return true; + } + + // CsCRC16에 Span 버전이 없다면 아래 형태로 추가를 권장합니다. + public static ushort CsCRC16_GetCrc16(ReadOnlySpan data) + { + byte hi = 0xFF, lo = 0xFF; + for (int i = 0; i < data.Length; i++) + { + ushort idx = (ushort)(lo ^ data[i]); + lo = (byte)(auchCRCHi[idx] ^ hi); + hi = auchCRCLo[idx]; + } + return (ushort)((hi << 8) | lo); + } + } +} diff --git a/LFP_Manager/Utils/CsDbProcess.cs b/LFP_Manager/Utils/CsDbProcess.cs new file mode 100644 index 0000000..e3bd449 --- /dev/null +++ b/LFP_Manager/Utils/CsDbProcess.cs @@ -0,0 +1,1400 @@ +using LFP_Manager.DataStructure; +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.SQLite; +using System.IO; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace LFP_Manager.Utils +{ + class csDbProcess + { + // Query - SELECT * FROM TABLE_NAME like('%neon%',field_name) - 문자를 포함하는 데이터 검색 + public static string DbFileName = @"LFPS-48100S-J_INV.db"; + public static string DbFilePathFormat = @"\db\"; + public static string DbFileNameFormat = @"\db\{0}_{1}.db"; + public static string DbSchemaTableFileName = @"\sql\DB_SCHEMA_TABLE.sql"; + public static string ModuleTableName = @"TModule"; + + public static string LogDbFilePath = @"\db"; + public static string LogDbFileNameFormat = @"\{0}\{1}_{2}_LOG.DB"; + public static string LogDbSchemaTableFileName = @"\sql\LOG_DB_SCHEMA_TABLE.sql"; + + public static DateTime Delay(int ms) + { + DateTime thisMoment = DateTime.Now; + TimeSpan duration = new TimeSpan(0, 0, 0, 0, ms); + DateTime afterMoment = thisMoment.Add(duration); + + while (afterMoment >= thisMoment) + { + System.Windows.Forms.Application.DoEvents(); + + thisMoment = DateTime.Now; + } + + return DateTime.Now; + } + + //트랜잭션 시작 + public static void BeginTran(SQLiteConnection conn) + { + SQLiteCommand command = new SQLiteCommand("Begin", conn); + command.ExecuteNonQuery(); + command.Dispose(); + } + + //트랜잭션 완료 + public static void CommitTran(SQLiteConnection conn) + { + SQLiteCommand command = new SQLiteCommand("Commit", conn); + command.ExecuteNonQuery(); + command.Dispose(); + } + + #region CREATE DATABASE + + public static void DbCreate(string mSN, string bName) + { + string result = ""; + string dbFilename = String.Format(DbFileNameFormat, MakeLotNumber(mSN, bName), bName); + string dbFilePath = Path.GetDirectoryName(Application.ExecutablePath) + dbFilename; + + if (Directory.Exists(System.IO.Path.GetDirectoryName(dbFilePath)) == false) + Directory.CreateDirectory(System.IO.Path.GetDirectoryName(dbFilePath)); + + if (File.Exists(dbFilePath) == true) + { + //throw new Exception("Already have db file - Failed to create db file"); + return; + } + else + { + // Create database + SQLiteConnection.CreateFile(dbFilePath); + } + + // Open database + string strConn = @"Data Source=" + dbFilePath; + using (var connection = new SQLiteConnection(strConn)) + { + connection.Open(); + try + { + // Create table + using (SQLiteCommand command = connection.CreateCommand()) + { + string schemaFile = Path.GetDirectoryName(Application.ExecutablePath) + DbSchemaTableFileName; + string query = File.ReadAllText(schemaFile); + + command.CommandText = query; + SQLiteDataReader reader = null; + reader = command.ExecuteReader(); + } + } + catch (Exception e) + { + result = e.Message; + } + finally + { + connection.Close(); + if (result != "") throw new Exception(result); + } + } + return; + } + + public static void LogDbCreate(string aModel) + { + string result = ""; + string ModelName = aModel; + //public static string LogDbFileNameFormat = @"\{0}\{1}_{2}_LOG.DB"; + string dbFilename = String.Format(LogDbFileNameFormat + , String.Format("{0:yyMM}", DateTime.Now) + , String.Format("{0:yyMMdd}", DateTime.Now) + , ModelName + ); + string dbFilePath = Path.GetDirectoryName(Application.ExecutablePath) + LogDbFilePath + dbFilename; + + if (Directory.Exists(System.IO.Path.GetDirectoryName(dbFilePath)) == false) + Directory.CreateDirectory(System.IO.Path.GetDirectoryName(dbFilePath)); + + if (File.Exists(dbFilePath) == true) + { + //throw new Exception("Already have db file - Failed to create db file"); + return; + } + else + { + // Create database + SQLiteConnection.CreateFile(dbFilePath); + } + + // Open database + string strConn = @"Data Source=" + dbFilePath; + using (var connection = new SQLiteConnection(strConn)) + { + connection.Open(); + try + { + // Create table + using (SQLiteCommand command = connection.CreateCommand()) + { + string schemaFile = Path.GetDirectoryName(Application.ExecutablePath) + LogDbSchemaTableFileName; + string query = File.ReadAllText(schemaFile); + + command.CommandText = query; + SQLiteDataReader reader = null; + reader = command.ExecuteReader(); + } + } + catch (Exception e) + { + result = e.Message; + } + finally + { + connection.Close(); + if (result != "") throw new Exception(result); + } + } + return; + } + + public static void LogDbCreateNew(string aModel) + { + string result = ""; + string ModelName = aModel; + //public static string LogDbFileNameFormat = @"\{0}\{1}_{2}_LOG.DB"; + string dbFilename = String.Format(LogDbFileNameFormat + , String.Format("{0:yyMM}", DateTime.Now) + , String.Format("{0:yyMMdd}", DateTime.Now) + , ModelName + ); + string dbFilePath = Path.GetDirectoryName(Application.ExecutablePath) + LogDbFilePath + dbFilename; + + if (Directory.Exists(System.IO.Path.GetDirectoryName(dbFilePath)) == false) + Directory.CreateDirectory(System.IO.Path.GetDirectoryName(dbFilePath)); + + // Create database + SQLiteConnection.CreateFile(dbFilePath); + + // Open database + string strConn = @"Data Source=" + dbFilePath; + using (var connection = new SQLiteConnection(strConn)) + { + connection.Open(); + try + { + // Create table + using (SQLiteCommand command = connection.CreateCommand()) + { + string schemaFile = Path.GetDirectoryName(Application.ExecutablePath) + LogDbSchemaTableFileName; + string query = File.ReadAllText(schemaFile); + + command.CommandText = query; + SQLiteDataReader reader = null; + reader = command.ExecuteReader(); + } + } + catch (Exception e) + { + result = e.Message; + } + finally + { + connection.Close(); + if (result != "") throw new Exception(result); + } + } + return; + } + + #endregion + + #region MAKE LOT NUMBER + public static string MakeLotNumber(string mSN) + { + string LotNo = mSN.Substring(1, 11) + "000"; + return LotNo; + } + + public static string MakeLotNumber(string mSN, string bName) + { + string LotNo; + + if (bName == "BMCB_J") + LotNo = mSN.Substring(0, 10) + "0000"; + else + LotNo = mSN.Substring(1, 11) + "000"; + return LotNo; + } + + #endregion + + #region Excute Database + public static DataTable DbSqlExcute(string path, string query, bool create_db_flag = false) + { + string result = ""; + DataTable dtResult = null; + string dbFilename = Path.GetDirectoryName(path) + DbFileName; + + if (Directory.Exists(Path.GetDirectoryName(dbFilename)) == false) + Directory.CreateDirectory(Path.GetDirectoryName(dbFilename)); + + // Create database + if (File.Exists(dbFilename) == false) + { + if (create_db_flag == true) + SQLiteConnection.CreateFile(dbFilename); + else + throw new Exception("No database file - " + DbFileName); + } + + // Open database + string strConn = @"Data Source=" + dbFilename; + using (var connection = new SQLiteConnection(strConn)) + { + connection.Open(); + try + { + // Create table + using (SQLiteCommand command = connection.CreateCommand()) + { + //command.CommandText = "CREATE TABLE File (Name text, Size bigint, Modified datetime);"; + command.CommandText = query; + SQLiteDataReader reader = null; + //command.ExecuteNonQuery(); + reader = command.ExecuteReader(); + dtResult = new DataTable(); + dtResult.Load(reader); + } + } + catch (Exception e) + { + result = e.Message; + } + finally + { + connection.Close(); + if (result != "") throw new Exception(result); + } + } + return dtResult; + } + + public static DataTable DbSqlExcuteA1(string path, string query) + { + DataTable dtResult = null; + string dbFilename = System.IO.Path.GetDirectoryName(path) + DbFileName; + + if (Directory.Exists(System.IO.Path.GetDirectoryName(dbFilename)) == false) + Directory.CreateDirectory(System.IO.Path.GetDirectoryName(dbFilename)); + + if (File.Exists(dbFilename) == false) + // Create database + SQLiteConnection.CreateFile(dbFilename); + + // Open database + string strConn = @"Data Source=" + dbFilename; + using (var connection = new SQLiteConnection(strConn)) + { + connection.Open(); + try + { + // Excute Query + var adpt = new SQLiteDataAdapter(query, connection); + DataSet ds = new DataSet(); + adpt.Fill(ds); + + dtResult = ds.Tables[0]; + } + catch (Exception e) + { + throw e; + } + finally + { + connection.Close(); + } + } + return dtResult; + } + + public static DataTable DbSqlExcuteA(string lot, string query, string bName, bool create_db_flag = false) + { + string result = ""; + DataTable dtResult = new DataTable(); + string lotNo = lot; + string dbFilename = String.Format(DbFileNameFormat, lotNo, bName); + string dbFilePath = Path.GetDirectoryName(Application.ExecutablePath) + dbFilename; + + if (Directory.Exists(Path.GetDirectoryName(dbFilePath)) == false) + { + if (create_db_flag) + Directory.CreateDirectory(Path.GetDirectoryName(dbFilePath)); + else + throw new Exception("No DB file path - " + Path.GetDirectoryName(dbFilePath)); + } + if (File.Exists(dbFilePath) == false) + { + if (create_db_flag) + SQLiteConnection.CreateFile(dbFilePath); + else + throw new Exception(String.Format("No DB file - DbSqlExcuteA ({0})", dbFilename)); + } + + // Open database + string strConn = @"Data Source=" + dbFilePath; + using (var connection = new SQLiteConnection(strConn)) + { + connection.Open(); + try + { + // Excute Query + var adpt = new SQLiteDataAdapter(query, connection); + DataSet ds = new DataSet(); + adpt.Fill(ds); + if (ds.Tables.Count > 0) + dtResult = ds.Tables[0]; + } + catch (Exception ex) + { + result = ex.Message; + } + finally + { + connection.Close(); + if (result != "") throw new Exception(result); + } + } + return dtResult; + } + + public static DataTable DbSqlExcuteA2(string dbFileName, string query, bool create_db_flag = false) + { + string result = ""; + DataTable dtResult = new DataTable(); + string lotNo = dbFileName.Substring(0, 9); + string dbFilename = String.Format(DbFilePathFormat, lotNo) + dbFileName; + string dbFilePath = Path.GetDirectoryName(Application.ExecutablePath) + dbFilename; + + if (Directory.Exists(Path.GetDirectoryName(dbFilePath)) == false) + { + if (create_db_flag) + Directory.CreateDirectory(Path.GetDirectoryName(dbFilePath)); + else + throw new Exception("No DB file path - " + Path.GetDirectoryName(dbFilePath)); + } + if (File.Exists(dbFilePath) == false) + { + if (create_db_flag) + SQLiteConnection.CreateFile(dbFilePath); + else + throw new Exception(String.Format("No DB file - DbSqlExcuteA ({0})", dbFilename)); + } + + // Open database + string strConn = @"Data Source=" + dbFilePath; + using (var connection = new SQLiteConnection(strConn)) + { + connection.Open(); + try + { + // Excute Query + var adpt = new SQLiteDataAdapter(query, connection); + DataSet ds = new DataSet(); + adpt.Fill(ds); + if (ds.Tables.Count > 0) + dtResult = ds.Tables[0]; + } + catch (Exception ex) + { + result = ex.Message; + } + finally + { + connection.Close(); + if (result != "") throw new Exception(result); + } + } + return dtResult; + } + public static DataTable DbSqlExcuteA3(string dbFileName, string query, bool create_db_flag = false) + { + string result = ""; + DataTable dtResult = new DataTable(); + string dbFilePath = dbFileName; + + if (Directory.Exists(Path.GetDirectoryName(dbFilePath)) == false) + { + if (create_db_flag) + Directory.CreateDirectory(Path.GetDirectoryName(dbFilePath)); + else + throw new Exception("No DB file path - " + Path.GetDirectoryName(dbFilePath)); + } + if (File.Exists(dbFilePath) == false) + { + if (create_db_flag) + SQLiteConnection.CreateFile(dbFilePath); + else + throw new Exception(String.Format("No DB file - DbSqlExcuteA ({0})", dbFileName)); + } + + // Open database + string strConn = @"Data Source=" + dbFilePath; + using (var connection = new SQLiteConnection(strConn)) + { + connection.Open(); + try + { + // Excute Query + var adpt = new SQLiteDataAdapter(query, connection); + DataSet ds = new DataSet(); + adpt.Fill(ds); + if (ds.Tables.Count > 0) + dtResult = ds.Tables[0]; + } + catch (Exception ex) + { + result = ex.Message; + } + finally + { + connection.Close(); + if (result != "") throw new Exception(result); + } + } + return dtResult; + } + + #endregion + + #region BMS DATA INSERT AND UPDATE + + public static void BmsLogDataInsert(string modelName, ref CsDeviceData.DeviceModuleData mData, DateTime dateTime, int cvUnit) + { + if (string.IsNullOrEmpty(modelName)) + throw new ArgumentNullException(nameof(modelName)); + if (mData == null) + throw new ArgumentNullException(nameof(mData)); + if (cvUnit <= 0) + throw new ArgumentException("cvUnit must be greater than 0", nameof(cvUnit)); + + string dbFilename = GetLogDbFileName(modelName); + string dbFilePath = GetLogDbFilePath(dbFilename); + ValidateDbPath(dbFilePath); + + using (var connection = new SQLiteConnection(string.Format("Data Source={0}", dbFilePath))) + { + try + { + connection.Open(); + using (var transaction = connection.BeginTransaction()) + { + try + { + InsertModuleData(connection, modelName, mData, dateTime, cvUnit); + transaction.Commit(); + } + catch + { + transaction.Rollback(); + throw; + } + } + } + catch (Exception ex) + { + throw new Exception(string.Format("Failed to insert BMS log data: {0}", ex.Message), ex); + } + } + } + + private static string GetLogDbFileName(string modelName) + { + return string.Format(LogDbFileNameFormat, + DateTime.Now.ToString("yyMM"), + DateTime.Now.ToString("yyMMdd"), + modelName); + } + + private static string GetLogDbFilePath(string dbFilename) + { + string exePath = Path.GetDirectoryName(Application.ExecutablePath); + // LogDbFilePath가 이미 '\'로 시작한다면 제거 + string cleanLogPath = LogDbFilePath.TrimStart('\\'); + string cleanDbFilename = dbFilename.TrimStart('\\'); + string fullPath = Path.Combine(exePath, cleanLogPath); + return Path.Combine(fullPath, cleanDbFilename); + } + + private static void ValidateDbPath(string dbFilePath) + { + string directory = Path.GetDirectoryName(dbFilePath); + if (!Directory.Exists(directory)) + throw new DirectoryNotFoundException(string.Format("Log DB directory not found: {0}", directory)); + if (!File.Exists(dbFilePath)) + throw new FileNotFoundException(string.Format("Log DB file not found: {0}", dbFilePath)); + } + + private static void InsertModuleData(SQLiteConnection connection, string modelName, CsDeviceData.DeviceModuleData mData, DateTime dateTime, int cvUnit) + { + var columnNames = GetColumnNames(mData); + var parameters = CreateParameters(mData, dateTime, cvUnit); + + using (var command = connection.CreateCommand()) + { + var paramNames = new List(); + foreach (var param in parameters) + { + paramNames.Add("@" + param.ParameterName); + } + + command.CommandText = string.Format( + "INSERT INTO TModuleValue ({0}) VALUES ({1})", + string.Join(", ", columnNames), + string.Join(", ", paramNames)); + + command.Parameters.AddRange(parameters); + command.ExecuteNonQuery(); + } + } + + private static List GetColumnNames(CsDeviceData.DeviceModuleData mData) + { + var columns = new List + { + "create_date", + "module_no", + "model_name", + "module_sn", + "fw_ver", + "comm_fail", + "op_status", + "alarm_status", + "warning", + "fault", + "module_voltage", + "module_current", + "module_soc", + "module_soh", + "module_cyclecount" + }; + + // Add cell voltage columns + for (int i = 1; i <= mData.cellQty; i++) + { + columns.Add(string.Format("cell_voltage_{0:00}", i)); + } + + // Add temperature columns + for (int i = 1; i <= mData.tempQty; i++) + { + columns.Add(string.Format("temperature_{0:00}", i)); + } + + columns.Add("ext1_temp"); + columns.Add("ext2_temp"); + columns.Add("chg_option"); + + return columns; + } + + private static SQLiteParameter[] CreateParameters(CsDeviceData.DeviceModuleData mData, DateTime dateTime, int cvUnit) + { + var parameters = new List + { + new SQLiteParameter("create_date", dateTime), + new SQLiteParameter("module_no", mData.mNo), + new SQLiteParameter("model_name", mData.Information.ModelName), + new SQLiteParameter("module_sn", mData.Information.HwSerialNumber), + new SQLiteParameter("fw_ver", mData.Information.SwProductRev), + new SQLiteParameter("comm_fail", mData.ShelfCommFail), + new SQLiteParameter("op_status", mData.StatusData.status), + new SQLiteParameter("alarm_status", mData.StatusData.batteryStatus), + new SQLiteParameter("warning", mData.StatusData.warning), + new SQLiteParameter("fault", mData.StatusData.protect), + new SQLiteParameter("module_voltage", (mData.ValueData.voltage / 10.0).ToString()), + new SQLiteParameter("module_current", (mData.ValueData.current / 10.0).ToString()), + new SQLiteParameter("module_soc", (mData.ValueData.SOC / 10.0).ToString()), + new SQLiteParameter("module_soh", (mData.ValueData.SOH / 10.0).ToString()), + new SQLiteParameter("module_cyclecount", mData.ValueData.cycleCount.ToString()) + }; + + // Add cell voltage parameters + for (int i = 0; i < mData.cellQty; i++) + { + parameters.Add(new SQLiteParameter( + string.Format("cell_voltage_{0:00}", i + 1), + (mData.ValueData.CellVoltage[i] / (float)cvUnit).ToString())); + } + + // Add temperature parameters + for (int i = 0; i < mData.tempQty; i++) + { + parameters.Add(new SQLiteParameter( + string.Format("temperature_{0:00}", i + 1), + (mData.ValueData.CellTemperature[i] / 10.0).ToString())); + } + + parameters.Add(new SQLiteParameter("ext1_temp", (mData.ValueData.MosTemperature / 10.0).ToString())); + parameters.Add(new SQLiteParameter("ext2_temp", (mData.ValueData.AmbTemperature / 10.0).ToString())); + parameters.Add(new SQLiteParameter("chg_option", mData.CalibrationData.Current.ChargeOption.ToString())); + + return parameters.ToArray(); + } + + public static DataTable GetDataTable(string bSN, string aTableName, string bName) + { + string result = ""; + DataTable dtResult = null; + string dbFilename = String.Format(DbFileNameFormat, MakeLotNumber(bSN, bName), bName); + string dbFilePath = Path.GetDirectoryName(Application.ExecutablePath) + dbFilename; + + if (Directory.Exists(Path.GetDirectoryName(dbFilePath)) == false) + throw new Exception("No DB file path"); + if (File.Exists(dbFilePath) == false) + throw new Exception("No DB file"); + // Open database + string strConn = @"Data Source=" + dbFilePath; + using (var connection = new SQLiteConnection(strConn)) + { + Forms.fmxWait WaitForm = new Forms.fmxWait(); + WaitForm.StartPosition = FormStartPosition.CenterScreen; + try + { + connection.Open(); + BeginTran(connection); + + WaitForm.Show(); + // Insert data + using (SQLiteCommand command = connection.CreateCommand()) + { + //sSQL = "insert into TrendTable ( TrendStamp, TagName, TagValue) Values ( " + IntToStr(stamp) + "," + name + "," + value + ");"; + command.CommandText = String.Format("SELECT * FROM {0}", aTableName); + SQLiteDataAdapter adapter = new SQLiteDataAdapter(command); + adapter.AcceptChangesDuringFill = false; + dtResult = new DataTable(); + adapter.Fill(dtResult); + dtResult.TableName = aTableName; + + CommitTran(connection); + + System.Windows.Forms.Application.DoEvents(); + WaitForm.SetDescription(String.Format("{0}//{1}", 1, 1)); + } + } + catch (Exception e) + { + result = e.Message; + } + finally + { + if (connection.State == ConnectionState.Open) + connection.Close(); + if (WaitForm != null) + WaitForm.Close(); + if (result != "") throw new Exception(result); + } + } + return dtResult; + } + + public static DataTable GetDataTableBySelect(string bSN, string sql, string aTableName, string bName) + { + string result = ""; + DataTable dtResult = null; + string dbFilename = String.Format(DbFileNameFormat, MakeLotNumber(bSN, bName), bName); + string dbFilePath = System.IO.Path.GetDirectoryName(Application.ExecutablePath) + dbFilename; + + if (Directory.Exists(System.IO.Path.GetDirectoryName(dbFilePath)) == false) + throw new Exception("No DB file path"); + if (File.Exists(dbFilePath) == false) + throw new Exception(String.Format("No DB file - {0}", dbFilePath)); + // Open database + string strConn = @"Data Source=" + dbFilePath; + using (var connection = new SQLiteConnection(strConn)) + { + Forms.fmxWait WaitForm = new Forms.fmxWait(); + WaitForm.StartPosition = FormStartPosition.CenterScreen; + try + { + connection.Open(); + BeginTran(connection); + + WaitForm.Show(); + // Insert data + using (SQLiteCommand command = connection.CreateCommand()) + { + //sSQL = "insert into TrendTable ( TrendStamp, TagName, TagValue) Values ( " + IntToStr(stamp) + "," + name + "," + value + ");"; + command.CommandText = sql; + SQLiteDataAdapter adapter = new SQLiteDataAdapter(command); + adapter.AcceptChangesDuringFill = false; + dtResult = new DataTable(); + adapter.Fill(dtResult); + dtResult.TableName = aTableName; + + System.Windows.Forms.Application.DoEvents(); + WaitForm.SetDescription(String.Format("{0}//{1}", 1, 1)); + + CommitTran(connection); + } + } + catch (Exception e) + { + result = e.Message; + } + finally + { + if (connection.State == ConnectionState.Open) + connection.Close(); + if (WaitForm != null) + WaitForm.Close(); + if (result != "") + throw new Exception(result); + } + } + return dtResult; + } + + public static DataTable GetDataTableBySelectFromDbName(string dbFileName, string sql, string aTableName, string bName) + { + string result = ""; + DataTable dtResult = null; + + string lotNo = csDbUtils.MakeLotNumber(dbFileName.Substring(0, 8), bName); + string dbFilename = String.Format(@"\db\{0}\{1}", lotNo, dbFileName); + string dbFilePath = System.IO.Path.GetDirectoryName(Application.ExecutablePath) + dbFilename; + + if (Directory.Exists(System.IO.Path.GetDirectoryName(dbFilePath)) == false) + throw new Exception("No DB file path"); + if (File.Exists(dbFilePath) == false) + throw new Exception(String.Format("No DB file - {0}", dbFilePath)); + // Open database + string strConn = @"Data Source=" + dbFilePath; + using (var connection = new SQLiteConnection(strConn)) + { + Forms.fmxWait WaitForm = new Forms.fmxWait(); + WaitForm.StartPosition = FormStartPosition.CenterScreen; + try + { + connection.Open(); + BeginTran(connection); + + WaitForm.Show(); + // Insert data + using (SQLiteCommand command = connection.CreateCommand()) + { + //sSQL = "insert into TrendTable ( TrendStamp, TagName, TagValue) Values ( " + IntToStr(stamp) + "," + name + "," + value + ");"; + command.CommandText = sql; + SQLiteDataAdapter adapter = new SQLiteDataAdapter(command); + adapter.AcceptChangesDuringFill = false; + dtResult = new DataTable(); + adapter.Fill(dtResult); + dtResult.TableName = aTableName; + + System.Windows.Forms.Application.DoEvents(); + WaitForm.SetDescription(String.Format("{0}//{1}", 1, 1)); + + CommitTran(connection); + } + } + catch (Exception e) + { + result = e.Message; + } + finally + { + if (connection.State == ConnectionState.Open) + connection.Close(); + if (WaitForm != null) + WaitForm.Close(); + if (result != "") + throw new Exception(result); + } + } + return dtResult; + } + + public static DataTable GetDataTableByFileName(string fileName, string sql, string aTableName) + { + string result = ""; + DataTable dtResult = null; + + if (Directory.Exists(System.IO.Path.GetDirectoryName(fileName)) == false) + throw new Exception("No DB file path"); + if (File.Exists(fileName) == false) + throw new Exception("No DB file"); + // Open database + string strConn = @"Data Source=" + fileName; + using (var connection = new SQLiteConnection(strConn)) + { + Forms.fmxWait WaitForm = new Forms.fmxWait(); + WaitForm.StartPosition = FormStartPosition.CenterScreen; + try + { + connection.Open(); + BeginTran(connection); + + WaitForm.Show(); + // Insert data + using (SQLiteCommand command = connection.CreateCommand()) + { + //sSQL = "insert into TrendTable ( TrendStamp, TagName, TagValue) Values ( " + IntToStr(stamp) + "," + name + "," + value + ");"; + command.CommandText = sql; + SQLiteDataAdapter adapter = new SQLiteDataAdapter(command); + adapter.AcceptChangesDuringFill = false; + dtResult = new DataTable(); + adapter.Fill(dtResult); + dtResult.TableName = aTableName; + + System.Windows.Forms.Application.DoEvents(); + WaitForm.SetDescription(String.Format("{0}//{1}", 1, 1)); + + CommitTran(connection); + } + } + catch (Exception e) + { + result = e.Message; + } + finally + { + if (connection.State == ConnectionState.Open) + connection.Close(); + if (WaitForm != null) + WaitForm.Close(); + if (result != "") + throw new Exception(result); + } + } + return dtResult; + } + + public static DataTable GetModuleMatchTableByFgNo(string fg_no, string bName) + { + DataTable dtResult = null; + + int a, b, c; + a = Convert.ToInt32(fg_no); + b = a / 300 + 1; + c = a % 300; + if ((c == 0) && (b > 0)) b--; + string mSN = String.Format("1{0:yy}{1:00}{2:000}", DateTime.Now, b, c); + string lotNo = csDbUtils.MakeLotNumber(mSN, bName); + string dbfilePath = Path.GetDirectoryName(Application.ExecutablePath) + String.Format(DbFilePathFormat, lotNo); + string[] filePaths = Directory.GetFiles(dbfilePath, "*.db"); + + if (filePaths.Length > 0) + { + for (int i = 0; i < filePaths.Length; i++) + { + string fileName = Path.GetFileName(filePaths[i]); + byte[] bfilName = Encoding.ASCII.GetBytes(fileName); + + dtResult = GetDataTableByFileName(filePaths[i], String.Format("SELECT * FROM TModuleMatch where fg_no={0}", fg_no), "TModuleMatch"); + if ((dtResult != null) && (dtResult.Rows.Count == 1)) break; + } + } + if ((dtResult == null) || (dtResult.Rows.Count == 0)) + throw new Exception(String.Format("No match data - {0}", fg_no)); + + return dtResult; + } + + public static void BmsPcbMatchDataInsert(string dbFileName, DataRow sRow) + { + string result = ""; + int resultCode = (int)SQLiteErrorCode.Unknown; + + if (Directory.Exists(System.IO.Path.GetDirectoryName(dbFileName)) == false) + throw new Exception("No DB file path"); + if (File.Exists(dbFileName) == false) + throw new Exception(String.Format("No DB file - BmsDataInsert ({0})", dbFileName)); + + // Open database + string strConn = @"Data Source=" + dbFileName; + using (var connection = new SQLiteConnection(strConn)) + { + Forms.fmxWait WaitForm = new Forms.fmxWait + { + StartPosition = FormStartPosition.CenterScreen + }; + + try + { + connection.Open(); + BeginTran(connection); + + WaitForm.Show(); + // Insert data + using (SQLiteCommand command = connection.CreateCommand()) + { + //sSQL = "insert into TrendTable ( TrendStamp, TagName, TagValue) Values ( " + IntToStr(stamp) + "," + name + "," + value + ");"; + command.CommandText = "INSERT INTO" + + " TBmsPcbMatchTable" + + " (PCB1_SERIAL_NUMBER, MODULE_SERIAL_NUMBER, create_date, modify_date)" // 2 + + " Values (?,?,?,?);"; + SQLiteParameter[] p = new SQLiteParameter[4]; + + for (int i = 0; i < 4; i++) + { + p[i] = new SQLiteParameter(); + command.Parameters.Add(p[i]); + } + + int j = 0; + p[j++].Value = sRow["PCB1_SERIAL_NUMBER"]; // pcb_sn + p[j++].Value = sRow["MODULE_SERIAL_NUMBER"]; // module_sn + p[j++].Value = DateTime.Now; // create_date + p[j++].Value = DateTime.Now; // modify_date + + command.ExecuteNonQuery(); + + WaitForm.SetDescription(String.Format("{0}//{1}", 1, 1)); + System.Windows.Forms.Application.DoEvents(); + + CommitTran(connection); + } + } + catch (SQLiteException sqle) + { + // Handle DB exception + result = sqle.Message; + resultCode = sqle.ErrorCode; + } + catch (IndexOutOfRangeException ie) + { + // If you think there might be a problem with index range in the loop, for example + result = ie.Message; + resultCode = 9999; + } + catch (Exception ex) + { + result = ex.Message; + resultCode = 9998; + } + finally + { + if (connection.State == ConnectionState.Open) + connection.Close(); + if (WaitForm != null) + WaitForm.Close(); + if (result != "") + { + if (resultCode == 9998) throw new Exception(result); + else if (resultCode == 9999) throw new IndexOutOfRangeException(result); + else throw new SQLiteException((SQLiteErrorCode)resultCode, result); + } + } + } + } + + public static void ErrorLogInsert(string dbFileName, DataRow sRow, string Process, string ErrType, string ErrMsg) + { + string result = ""; + + if (Directory.Exists(System.IO.Path.GetDirectoryName(dbFileName)) == false) + throw new Exception("No DB file path"); + if (File.Exists(dbFileName) == false) + throw new Exception(String.Format("No DB file - ErrorLogInsert ({0})", dbFileName)); + + // Open database + string strConn = @"Data Source=" + dbFileName; + using (var connection = new SQLiteConnection(strConn)) + { + try + { + connection.Open(); + BeginTran(connection); + + // Insert data + using (SQLiteCommand command = connection.CreateCommand()) + { + //sSQL = "insert into TrendTable ( TrendStamp, TagName, TagValue) Values ( " + IntToStr(stamp) + "," + name + "," + value + ");"; + command.CommandText = "INSERT INTO" + + " TErrorLogTable" + + " (create_date, MODULE_SERIAL_NUMBER, PCB1_SERIAL_NUMBER, PROCESS, ERROR_TYPE, ERROR_MSG)" // 2 + + " Values (?,?,?,?,?,?);"; + SQLiteParameter[] p = new SQLiteParameter[6]; + + for (int i = 0; i < 6; i++) + { + p[i] = new SQLiteParameter(); + command.Parameters.Add(p[i]); + } + + int j = 0; + p[j++].Value = DateTime.Now; // create_date + p[j++].Value = sRow["MODULE_SERIAL_NUMBER"]; // module_sn + p[j++].Value = sRow["PCB1_SERIAL_NUMBER"]; // pcb_sn + p[j++].Value = Process; // process + p[j++].Value = ErrType; // error type + p[j++].Value = ErrMsg; // error message + + command.ExecuteNonQuery(); + + CommitTran(connection); + } + } + catch (Exception e) + { + result = e.Message; + } + finally + { + if (connection.State == ConnectionState.Open) + connection.Close(); + if (result != "") throw new Exception(result); + } + } + } + + #endregion + + #region SELECT QUARY + + public static int DbQuaryExcuteToDataTable(string dbFileName, string Quary, ref DataTable rDT) + { + int result = 0; + string resultStr = String.Empty; + + string strConn = @"Data Source=" + dbFileName; + using (var connection = new SQLiteConnection(strConn)) + { + try + { + connection.Open(); + BeginTran(connection); + + // Insert data + using (SQLiteCommand command = connection.CreateCommand()) + { + //sSQL = "insert into TrendTable ( TrendStamp, TagName, TagValue) Values ( " + IntToStr(stamp) + "," + name + "," + value + ");"; + command.CommandText = Quary; + SQLiteDataAdapter adapter = new SQLiteDataAdapter(command); + adapter.AcceptChangesDuringFill = false; + rDT = new DataTable(); + adapter.Fill(rDT); + //rDT.TableName = "TModuleValue"; + + CommitTran(connection); + + result = rDT.Rows.Count; + + System.Windows.Forms.Application.DoEvents(); + } + } + catch (Exception e) + { + resultStr = e.Message; + } + finally + { + if (connection.State == ConnectionState.Open) + connection.Close(); + if (resultStr != "") throw new Exception(resultStr); + } + } + return result; + } + + public static void CreateLogDbFile(string dbFileName) + { + string result = ""; + + if (Directory.Exists(Path.GetDirectoryName(dbFileName)) == false) + throw new Exception("No DB file path"); + if (File.Exists(dbFileName) == true) + throw new Exception(String.Format("Already have DB file - DbQuaryExcuteToDbFile({0})", dbFileName)); + + // Create database + SQLiteConnection.CreateFile(dbFileName); + + // Open database + string strConn = @"Data Source=" + dbFileName; + using (var connection = new SQLiteConnection(strConn)) + { + Forms.fmxWait WaitForm = new Forms.fmxWait(); + WaitForm.StartPosition = FormStartPosition.CenterScreen; + try + { + connection.Open(); + BeginTran(connection); + + WaitForm.Show(); + // Insert data + using (SQLiteCommand command = connection.CreateCommand()) + { + string schemaFile = Path.GetDirectoryName(Application.ExecutablePath) + LogDbSchemaTableFileName; + string query = File.ReadAllText(schemaFile); + + command.CommandText = query; + SQLiteDataReader reader = null; + reader = command.ExecuteReader(); + + WaitForm.SetDescription(String.Format("{0}//{1}", 1, 1)); + System.Windows.Forms.Application.DoEvents(); + + CommitTran(connection); + } + } + catch (Exception e) + { + result = e.Message; + } + finally + { + if (connection.State == ConnectionState.Open) + connection.Close(); + if (WaitForm != null) + WaitForm.Close(); + if (result != "") throw new Exception(result); + } + } + } + + public static void DbInsertDataToDbFile(string dbFileName, DataRow dtRow) + { + string result = ""; + + if (Directory.Exists(Path.GetDirectoryName(dbFileName)) == false) + throw new Exception("No DB file path"); + if (File.Exists(dbFileName) == false) + throw new Exception(String.Format("No DB file - DbInsertDataToDbFile({0})", dbFileName)); + + // Open database + string strConn = @"Data Source=" + dbFileName; + using (var connection = new SQLiteConnection(strConn)) + { + try + { + connection.Open(); + BeginTran(connection); + + // Insert data + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = String.Format("INSERT INTO TModuleValue ("); + command.CommandText += "create_date" // 0 + + ", module_no" // 1 + + ", pcb_sn" // 2 + + ", module_sn" // 3 + + ", fw_ver" // 4 + + ", comm_fail" // 5 + + ", op_status" // 6 + + ", alarm_status" // 7 + + ", warning" // 8 + + ", fault" // 9 + + ", module_voltage" // 10 + + ", module_current" // 11 + + ", module_soc" // 12 + + ", module_soh" // 13 + ; + for (int i = 0; i < 15; i++) + { + command.CommandText += String.Format(", cell_voltage_{0:00}", i + 1); // 14 ~ 28; 15 cells + } + for (int i = 0; i < 6; i++) + { + command.CommandText += String.Format(", temperature_{0:00}", i + 1); // 29 ~ 34; 6 temps + } + command.CommandText += "" + + ", chg_option" // 35 + + ", chg_cal" // 36 + + ", dch_cal" // 37 + + ")" + + " Values ("; + + int total = dtRow.Table.Columns.Count; + + for (int i = 0; i < (total - 1); i++) command.CommandText += "?,"; + command.CommandText += "?);"; + + SQLiteParameter[] p = new SQLiteParameter[total]; + + for (int i = 0; i < total; i++) + { + if (i == 0) + p[i] = new SQLiteParameter(DbType.DateTime); + else + p[i] = new SQLiteParameter(); + command.Parameters.Add(p[i]); + } + + int j = 0; + p[j++].Value = String.Format("{0:yyyy/MM/dd HH:mm:ss}", dtRow["create_date"]); // 0 create_date + p[j++].Value = dtRow["module_no"]; // 1 module_no + p[j++].Value = dtRow["pcb_sn"]; // 2 pcb_sn + p[j++].Value = dtRow["module_sn"]; // 3 module_sn + p[j++].Value = dtRow["fw_ver"]; // 4 fw_ver + p[j++].Value = dtRow["comm_fail"]; // 5 comm_fail + p[j++].Value = dtRow["op_status"]; // 6 op_status + p[j++].Value = dtRow["alarm_status"]; // 7 alarm_status + p[j++].Value = dtRow["warning"]; // 8 warning + p[j++].Value = dtRow["fault"]; // 9 fault + p[j++].Value = dtRow["module_voltage"]; // 10 module_voltage + p[j++].Value = dtRow["module_current"]; // 11 module_current + p[j++].Value = dtRow["module_soc"]; // 12 module_soc + p[j++].Value = dtRow["module_soh"]; // 13 module_soh + + for (int i = 0; i < 15; i++) + { + p[j++].Value = dtRow[String.Format("cell_voltage_{0:00}", i + 1)]; // 14 cell_voltage_01 28 + } + for (int i = 0; i < 6; i++) + { + p[j++].Value = dtRow[String.Format("temperature_{0:00}", i + 1)]; // 29 cell_voltage_01 36 + } + + p[j++].Value = dtRow["chg_option"]; // 37 chg_option + p[j++].Value = dtRow["chg_cal"]; // 38 chg_cal + p[j++].Value = dtRow["dch_cal"]; // 39 dch_cal + + command.ExecuteNonQuery(); + + CommitTran(connection); + } + } + catch (SQLiteException se) + { + if (se.ResultCode != SQLiteErrorCode.Constraint) + result = se.Message; + } + catch (Exception e) + { + result = e.Message; + } + finally + { + if (connection.State == ConnectionState.Open) + connection.Close(); + if (result != "") throw new Exception(result); + } + } + } + + public static DataTable BmsDataSelectToDataTable(CommConfig aConfig, DateTime aDate, string qry) + { + string result = ""; + DataTable dtResult = null; + string ModelName = csConstData.UART_MODEL[aConfig.UartModelIndex]; + string dbFilename = String.Format(LogDbFileNameFormat + , String.Format("{0:yyMM}", aDate) + , String.Format("{0:yyMMdd}", aDate) + , ModelName + ); + string dbFilePath = Path.GetDirectoryName(Application.ExecutablePath) + LogDbFilePath + dbFilename; + + if (Directory.Exists(System.IO.Path.GetDirectoryName(dbFilePath)) == false) + return dtResult; + if (File.Exists(dbFilePath) == false) + return dtResult; + + string strConn = @"Data Source=" + dbFilePath; + using (var connection = new SQLiteConnection(strConn)) + { + try + { + connection.Open(); + BeginTran(connection); + + // Insert data + using (SQLiteCommand command = connection.CreateCommand()) + { + //sSQL = "insert into TrendTable ( TrendStamp, TagName, TagValue) Values ( " + IntToStr(stamp) + "," + name + "," + value + ");"; + command.CommandText = String.Format("SELECT * FROM TModuleValue {0}", qry); + SQLiteDataAdapter adapter = new SQLiteDataAdapter(command); + adapter.AcceptChangesDuringFill = false; + dtResult = new DataTable(); + adapter.Fill(dtResult); + dtResult.TableName = "TModuleValue"; + + CommitTran(connection); + + System.Windows.Forms.Application.DoEvents(); + } + } + catch (Exception e) + { + result = e.Message; + } + finally + { + if (connection.State == ConnectionState.Open) + connection.Close(); + if (result != "") throw new Exception(result); + } + } + return dtResult; + } + #endregion + + public class SQLITE + { + private SQLiteConnection con; + private SQLiteCommand cmd; + private SQLiteDataAdapter adapter; + + public SQLITE(string databasename) + { + con = new SQLiteConnection(string.Format("Data Source={0};Compress=True;", databasename)); + } + + public int Execute(string sql_statement) + { + con.Open(); + cmd = con.CreateCommand(); + cmd.CommandText = sql_statement; + int row_updated; + try + { + row_updated = cmd.ExecuteNonQuery(); + } + catch + { + con.Close(); + return 0; + } + con.Close(); + return row_updated; + } + public DataTable GetDataTable(string tablename) + { + DataTable DT = new DataTable(); + con.Open(); + cmd = con.CreateCommand(); + cmd.CommandText = string.Format("SELECT * FROM {0}", tablename); + adapter = new SQLiteDataAdapter(cmd); + adapter.AcceptChangesDuringFill = false; + adapter.Fill(DT); + con.Close(); + DT.TableName = tablename; + return DT; + } + public void SaveDataTable(DataTable DT) + { + try + { + Execute(string.Format("DELETE FROM {0}", DT.TableName)); + con.Open(); + cmd = con.CreateCommand(); + cmd.CommandText = string.Format("SELECT * FROM {0}", DT.TableName); + adapter = new SQLiteDataAdapter(cmd); + SQLiteCommandBuilder builder = new SQLiteCommandBuilder(adapter); + adapter.Update(DT); + con.Close(); + } + catch (Exception Ex) + { + MessageBox.Show(Ex.Message); + } + } + } + } +} diff --git a/LFP_Manager/Utils/csDBUtils.cs b/LFP_Manager/Utils/csDBUtils.cs new file mode 100644 index 0000000..b93c65a --- /dev/null +++ b/LFP_Manager/Utils/csDBUtils.cs @@ -0,0 +1,1554 @@ +using LFP_Manager.DataStructure; +using System; +using System.Data; +using System.Data.SQLite; +using System.IO; +using System.Text; +using System.Windows.Forms; + +namespace LFP_Manager.Utils +{ + class csDbUtils + { + // Query - SELECT * FROM TABLE_NAME like('%neon%',field_name) - 문자를 포함하는 데이터 검색 + public static string DbFileName = @"LFPS-48100S-J_INV.db"; + public static string DbFilePathFormat = @"\db\"; + public static string DbFileNameFormat = @"\db\{0}_{1}.db"; + public static string DbSchemaTableFileName = @"\sql\DB_SCHEMA_TABLE.sql"; + public static string ModuleTableName = @"TModule"; + + public static string LogDbFilePath = @"\db"; + public static string LogDbFileNameFormat = @"\{0}\{1}_{2}_LOG.DB"; + public static string LogDbSchemaTableFileName = @"\sql\LOG_DB_SCHEMA_TABLE.sql"; + + public static DateTime Delay(int ms) + { + DateTime thisMoment = DateTime.Now; + TimeSpan duration = new TimeSpan(0, 0, 0, 0, ms); + DateTime afterMoment = thisMoment.Add(duration); + + while (afterMoment >= thisMoment) + { + System.Windows.Forms.Application.DoEvents(); + + thisMoment = DateTime.Now; + } + + return DateTime.Now; + } + + //트랜잭션 시작 + public static void BeginTran(SQLiteConnection conn) + { + SQLiteCommand command = new SQLiteCommand("Begin", conn); + command.ExecuteNonQuery(); + command.Dispose(); + } + + //트랜잭션 완료 + public static void CommitTran(SQLiteConnection conn) + { + SQLiteCommand command = new SQLiteCommand("Commit", conn); + command.ExecuteNonQuery(); + command.Dispose(); + } + + #region CREATE DATABASE + + public static void DbCreate(string mSN, string bName) + { + string result = ""; + string dbFilename = String.Format(DbFileNameFormat, MakeLotNumber(mSN, bName), bName); + string dbFilePath = Path.GetDirectoryName(Application.ExecutablePath) + dbFilename; + + if (Directory.Exists(System.IO.Path.GetDirectoryName(dbFilePath)) == false) + Directory.CreateDirectory(System.IO.Path.GetDirectoryName(dbFilePath)); + + if (File.Exists(dbFilePath) == true) + { + //throw new Exception("Already have db file - Failed to create db file"); + return; + } + else + { + // Create database + SQLiteConnection.CreateFile(dbFilePath); + } + + // Open database + string strConn = @"Data Source=" + dbFilePath; + using (var connection = new SQLiteConnection(strConn)) + { + connection.Open(); + try + { + // Create table + using (SQLiteCommand command = connection.CreateCommand()) + { + string schemaFile = Path.GetDirectoryName(Application.ExecutablePath) + DbSchemaTableFileName; + string query = File.ReadAllText(schemaFile); + + command.CommandText = query; + SQLiteDataReader reader = null; + reader = command.ExecuteReader(); + } + } + catch (Exception e) + { + result = e.Message; + } + finally + { + connection.Close(); + if (result != "") throw new Exception(result); + } + } + return; + } + + public static void LogDbCreate(string aModel) + { + string result = ""; + string ModelName = aModel; + //public static string LogDbFileNameFormat = @"\{0}\{1}_{2}_LOG.DB"; + string dbFilename = String.Format(LogDbFileNameFormat + , String.Format("{0:yyMM}", DateTime.Now) + , String.Format("{0:yyMMdd}", DateTime.Now) + , ModelName + ); + string dbFilePath = Path.GetDirectoryName(Application.ExecutablePath) + LogDbFilePath + dbFilename; + + if (Directory.Exists(System.IO.Path.GetDirectoryName(dbFilePath)) == false) + Directory.CreateDirectory(System.IO.Path.GetDirectoryName(dbFilePath)); + + if (File.Exists(dbFilePath) == true) + { + //throw new Exception("Already have db file - Failed to create db file"); + return; + } + else + { + // Create database + SQLiteConnection.CreateFile(dbFilePath); + } + + // Open database + string strConn = @"Data Source=" + dbFilePath; + using (var connection = new SQLiteConnection(strConn)) + { + connection.Open(); + try + { + // Create table + using (SQLiteCommand command = connection.CreateCommand()) + { + string schemaFile = Path.GetDirectoryName(Application.ExecutablePath) + LogDbSchemaTableFileName; + string query = File.ReadAllText(schemaFile); + + command.CommandText = query; + SQLiteDataReader reader = null; + reader = command.ExecuteReader(); + } + } + catch (Exception e) + { + result = e.Message; + } + finally + { + connection.Close(); + if (result != "") throw new Exception(result); + } + } + return; + } + + public static void LogDbCreateNew(string aModel) + { + string result = ""; + string ModelName = aModel; + //public static string LogDbFileNameFormat = @"\{0}\{1}_{2}_LOG.DB"; + string dbFilename = String.Format(LogDbFileNameFormat + , String.Format("{0:yyMM}", DateTime.Now) + , String.Format("{0:yyMMdd}", DateTime.Now) + , ModelName + ); + string dbFilePath = Path.GetDirectoryName(Application.ExecutablePath) + LogDbFilePath + dbFilename; + + if (Directory.Exists(System.IO.Path.GetDirectoryName(dbFilePath)) == false) + Directory.CreateDirectory(System.IO.Path.GetDirectoryName(dbFilePath)); + + // Create database + SQLiteConnection.CreateFile(dbFilePath); + + // Open database + string strConn = @"Data Source=" + dbFilePath; + using (var connection = new SQLiteConnection(strConn)) + { + connection.Open(); + try + { + // Create table + using (SQLiteCommand command = connection.CreateCommand()) + { + string schemaFile = Path.GetDirectoryName(Application.ExecutablePath) + LogDbSchemaTableFileName; + string query = File.ReadAllText(schemaFile); + + command.CommandText = query; + SQLiteDataReader reader = null; + reader = command.ExecuteReader(); + } + } + catch (Exception e) + { + result = e.Message; + } + finally + { + connection.Close(); + if (result != "") throw new Exception(result); + } + } + return; + } + + #endregion + + #region MAKE LOT NUMBER + public static string MakeLotNumber(string mSN) + { + string LotNo = mSN.Substring(1, 11) + "000"; + return LotNo; + } + + public static string MakeLotNumber(string mSN, string bName) + { + string LotNo; + + if (bName == "BMCB_J") + LotNo = mSN.Substring(0, 10) + "0000"; + else + LotNo = mSN.Substring(1, 11) + "000"; + return LotNo; + } + + #endregion + + #region Excute Database + public static DataTable DbSqlExcute(string path, string query, bool create_db_flag = false) + { + string result = ""; + DataTable dtResult = null; + string dbFilename = Path.GetDirectoryName(path) + DbFileName; + + if (Directory.Exists(Path.GetDirectoryName(dbFilename)) == false) + Directory.CreateDirectory(Path.GetDirectoryName(dbFilename)); + + // Create database + if (File.Exists(dbFilename) == false) + { + if (create_db_flag == true) + SQLiteConnection.CreateFile(dbFilename); + else + throw new Exception("No database file - " + DbFileName); + } + + // Open database + string strConn = @"Data Source=" + dbFilename; + using (var connection = new SQLiteConnection(strConn)) + { + connection.Open(); + try + { + // Create table + using (SQLiteCommand command = connection.CreateCommand()) + { + //command.CommandText = "CREATE TABLE File (Name text, Size bigint, Modified datetime);"; + command.CommandText = query; + SQLiteDataReader reader = null; + //command.ExecuteNonQuery(); + reader = command.ExecuteReader(); + dtResult = new DataTable(); + dtResult.Load(reader); + } + } + catch (Exception e) + { + result = e.Message; + } + finally + { + connection.Close(); + if (result != "") throw new Exception(result); + } + } + return dtResult; + } + + public static DataTable DbSqlExcuteA1(string path, string query) + { + DataTable dtResult = null; + string dbFilename = System.IO.Path.GetDirectoryName(path) + DbFileName; + + if (Directory.Exists(System.IO.Path.GetDirectoryName(dbFilename)) == false) + Directory.CreateDirectory(System.IO.Path.GetDirectoryName(dbFilename)); + + if (File.Exists(dbFilename) == false) + // Create database + SQLiteConnection.CreateFile(dbFilename); + + // Open database + string strConn = @"Data Source=" + dbFilename; + using (var connection = new SQLiteConnection(strConn)) + { + connection.Open(); + try + { + // Excute Query + var adpt = new SQLiteDataAdapter(query, connection); + DataSet ds = new DataSet(); + adpt.Fill(ds); + + dtResult = ds.Tables[0]; + } + catch (Exception e) + { + throw e; + } + finally + { + connection.Close(); + } + } + return dtResult; + } + + public static DataTable DbSqlExcuteA(string lot, string query, string bName, bool create_db_flag = false) + { + string result = ""; + DataTable dtResult = new DataTable(); + string lotNo = lot; + string dbFilename = String.Format(DbFileNameFormat, lotNo, bName); + string dbFilePath = Path.GetDirectoryName(Application.ExecutablePath) + dbFilename; + + if (Directory.Exists(Path.GetDirectoryName(dbFilePath)) == false) + { + if (create_db_flag) + Directory.CreateDirectory(Path.GetDirectoryName(dbFilePath)); + else + throw new Exception("No DB file path - " + Path.GetDirectoryName(dbFilePath)); + } + if (File.Exists(dbFilePath) == false) + { + if (create_db_flag) + SQLiteConnection.CreateFile(dbFilePath); + else + throw new Exception(String.Format("No DB file - DbSqlExcuteA ({0})", dbFilename)); + } + + // Open database + string strConn = @"Data Source=" + dbFilePath; + using (var connection = new SQLiteConnection(strConn)) + { + connection.Open(); + try + { + // Excute Query + var adpt = new SQLiteDataAdapter(query, connection); + DataSet ds = new DataSet(); + adpt.Fill(ds); + if (ds.Tables.Count > 0) + dtResult = ds.Tables[0]; + } + catch (Exception ex) + { + result = ex.Message; + } + finally + { + connection.Close(); + if (result != "") throw new Exception(result); + } + } + return dtResult; + } + + public static DataTable DbSqlExcuteA2(string dbFileName, string query, bool create_db_flag = false) + { + string result = ""; + DataTable dtResult = new DataTable(); + string lotNo = dbFileName.Substring(0, 9); + string dbFilename = String.Format(DbFilePathFormat, lotNo) + dbFileName; + string dbFilePath = Path.GetDirectoryName(Application.ExecutablePath) + dbFilename; + + if (Directory.Exists(Path.GetDirectoryName(dbFilePath)) == false) + { + if (create_db_flag) + Directory.CreateDirectory(Path.GetDirectoryName(dbFilePath)); + else + throw new Exception("No DB file path - " + Path.GetDirectoryName(dbFilePath)); + } + if (File.Exists(dbFilePath) == false) + { + if (create_db_flag) + SQLiteConnection.CreateFile(dbFilePath); + else + throw new Exception(String.Format("No DB file - DbSqlExcuteA ({0})", dbFilename)); + } + + // Open database + string strConn = @"Data Source=" + dbFilePath; + using (var connection = new SQLiteConnection(strConn)) + { + connection.Open(); + try + { + // Excute Query + var adpt = new SQLiteDataAdapter(query, connection); + DataSet ds = new DataSet(); + adpt.Fill(ds); + if (ds.Tables.Count > 0) + dtResult = ds.Tables[0]; + } + catch (Exception ex) + { + result = ex.Message; + } + finally + { + connection.Close(); + if (result != "") throw new Exception(result); + } + } + return dtResult; + } + public static DataTable DbSqlExcuteA3(string dbFileName, string query, bool create_db_flag = false) + { + string result = ""; + DataTable dtResult = new DataTable(); + string dbFilePath = dbFileName; + + if (Directory.Exists(Path.GetDirectoryName(dbFilePath)) == false) + { + if (create_db_flag) + Directory.CreateDirectory(Path.GetDirectoryName(dbFilePath)); + else + throw new Exception("No DB file path - " + Path.GetDirectoryName(dbFilePath)); + } + if (File.Exists(dbFilePath) == false) + { + if (create_db_flag) + SQLiteConnection.CreateFile(dbFilePath); + else + throw new Exception(String.Format("No DB file - DbSqlExcuteA ({0})", dbFileName)); + } + + // Open database + string strConn = @"Data Source=" + dbFilePath; + using (var connection = new SQLiteConnection(strConn)) + { + connection.Open(); + try + { + // Excute Query + var adpt = new SQLiteDataAdapter(query, connection); + DataSet ds = new DataSet(); + adpt.Fill(ds); + if (ds.Tables.Count > 0) + dtResult = ds.Tables[0]; + } + catch (Exception ex) + { + result = ex.Message; + } + finally + { + connection.Close(); + if (result != "") throw new Exception(result); + } + } + return dtResult; + } + + #endregion + + #region BMS DATA INSERT AND UPDATE + + public static void BmsLogDataInsert(string ModelName, ref CsDeviceData.DeviceModuleData mData, DateTime dateTime, int cvUnit) + { + string result = ""; + //string ModelName = csConstData.CAN_MODEL[aConfig.CanModelIndex]; + //public static string LogDbFileNameFormat = @"\{0}\{1}_{2}_LOG.DB"; + string dbFilename = String.Format(LogDbFileNameFormat + , String.Format("{0:yyMM}", DateTime.Now) + , String.Format("{0:yyMMdd}", DateTime.Now) + , ModelName + ); + string dbFilePath = Path.GetDirectoryName(Application.ExecutablePath) + LogDbFilePath + dbFilename; + + if (Directory.Exists(Path.GetDirectoryName(dbFilePath)) == false) + throw new Exception("No Log DB file path"); + if (File.Exists(dbFilePath) == false) + throw new Exception(String.Format("No Log DB file - BmsLogDataInsert ({0})", dbFilename)); + + // Open database + string strConn = @"Data Source=" + dbFilePath; + using (var connection = new SQLiteConnection(strConn)) + { + try + { + connection.Open(); + BeginTran(connection); + + // Insert data + using (SQLiteCommand command = connection.CreateCommand()) + { + //sSQL = "insert into TrendTable ( TrendStamp, TagName, TagValue) Values ( " + IntToStr(stamp) + "," + name + "," + value + ");"; + command.CommandText = String.Format("INSERT INTO TModuleValue ("); + command.CommandText += "create_date" // 0 + + ", module_no" // 1 + + ", model_name" // 2 + + ", module_sn" // 3 + + ", fw_ver" // 4 + + ", comm_fail" // 5 + + ", op_status" // 6 + + ", alarm_status" // 7 + + ", warning" // 8 + + ", fault" // 9 + + ", module_voltage" // 10 + + ", module_current" // 11 + + ", module_soc" // 12 + + ", module_soh" // 13 + + ", module_cyclecount" // 14 + ; + for (int i = 0; i < mData.cellQty; i++) + { + command.CommandText += String.Format(", cell_voltage_{0:00}", i + 1); // 14 ~ 28; 15 cells + } + for (int i = 0; i < mData.tempQty; i++) + { + command.CommandText += String.Format(", temperature_{0:00}", i + 1); // 29 ~ 32; 6 temps + } + command.CommandText += "" + + ", ext1_temp" // 35 + + ", ext2_temp" // 35 + + ", chg_option" // 35 + + ")" + + " Values ("; + + int total = 15 + mData.cellQty + mData.tempQty + 3; + + for (int i = 0; i < (total - 1); i++) command.CommandText += "?,"; + command.CommandText += "?);"; + + SQLiteParameter[] p = new SQLiteParameter[total]; + + for (int i = 0; i < total; i++) + { + if (i == 0) + p[i] = new SQLiteParameter(DbType.DateTime); + else + p[i] = new SQLiteParameter(); + command.Parameters.Add(p[i]); + } + + int j = 0; + p[j++].Value = dateTime; // 0 create_date + p[j++].Value = mData.mNo; // 1 Module No + p[j++].Value = mData.Information.ModelName; // 2 model_name + p[j++].Value = mData.Information.HwSerialNumber; // 3 module_sn + p[j++].Value = mData.Information.SwProductRev; // 4 fw_ver + + p[j++].Value = mData.ShelfCommFail; // 5 comm_fail + p[j++].Value = mData.StatusData.status; // 6 op_status + p[j++].Value = mData.StatusData.batteryStatus; // 7 alarm_status + p[j++].Value = mData.StatusData.warning; // 8 warning + p[j++].Value = mData.StatusData.protect; // 9 fault + p[j++].Value = ((float)mData.ValueData.voltage / 10).ToString(); // 10 module_voltage + p[j++].Value = ((float)mData.ValueData.current / 10).ToString(); // 11 module_current + p[j++].Value = ((float)mData.ValueData.SOC / 10).ToString(); // 12 module_soc + p[j++].Value = ((float)mData.ValueData.SOH / 10).ToString(); // 13 module_soh + p[j++].Value = ((float)mData.ValueData.cycleCount / 1).ToString(); // 14 module_soh + + for (int i = 0; i < mData.cellQty; i++) + { + p[j++].Value = ((float)mData.ValueData.CellVoltage[i] / cvUnit).ToString(); // 15 cell_voltage_01 + } + for (int i = 0; i < mData.tempQty; i++) + { + p[j++].Value = ((float)mData.ValueData.CellTemperature[i] / 10).ToString(); // 30 temperature_01 + } + p[j++].Value = ((float)mData.ValueData.MosTemperature / 10).ToString(); // 34 temperature_ext1 - FET Temp + p[j++].Value = ((float)mData.ValueData.AmbTemperature / 10).ToString(); // 35 temperature_ext2 - Lmt Temp + + p[j++].Value = mData.CalibrationData.Current.ChargeOption.ToString(); // 36 chg_option + + command.ExecuteNonQuery(); + + CommitTran(connection); + } + } + catch (Exception e) + { + result = e.Message; + } + finally + { + if (connection.State == ConnectionState.Open) + connection.Close(); + if (result != "") throw new Exception(result); + } + } + } + + public static DataTable GetDataTable(string bSN, string aTableName, string bName) + { + string result = ""; + DataTable dtResult = null; + string dbFilename = String.Format(DbFileNameFormat, MakeLotNumber(bSN, bName), bName); + string dbFilePath = Path.GetDirectoryName(Application.ExecutablePath) + dbFilename; + + if (Directory.Exists(Path.GetDirectoryName(dbFilePath)) == false) + throw new Exception("No DB file path"); + if (File.Exists(dbFilePath) == false) + throw new Exception("No DB file"); + // Open database + string strConn = @"Data Source=" + dbFilePath; + using (var connection = new SQLiteConnection(strConn)) + { + Forms.fmxWait WaitForm = new Forms.fmxWait(); + WaitForm.StartPosition = FormStartPosition.CenterScreen; + try + { + connection.Open(); + BeginTran(connection); + + WaitForm.Show(); + // Insert data + using (SQLiteCommand command = connection.CreateCommand()) + { + //sSQL = "insert into TrendTable ( TrendStamp, TagName, TagValue) Values ( " + IntToStr(stamp) + "," + name + "," + value + ");"; + command.CommandText = String.Format("SELECT * FROM {0}", aTableName); + SQLiteDataAdapter adapter = new SQLiteDataAdapter(command); + adapter.AcceptChangesDuringFill = false; + dtResult = new DataTable(); + adapter.Fill(dtResult); + dtResult.TableName = aTableName; + + CommitTran(connection); + + System.Windows.Forms.Application.DoEvents(); + WaitForm.SetDescription(String.Format("{0}//{1}", 1, 1)); + } + } + catch (Exception e) + { + result = e.Message; + } + finally + { + if (connection.State == ConnectionState.Open) + connection.Close(); + if (WaitForm != null) + WaitForm.Close(); + if (result != "") throw new Exception(result); + } + } + return dtResult; + } + + public static DataTable GetDataTableBySelect(string bSN, string sql, string aTableName, string bName) + { + string result = ""; + DataTable dtResult = null; + string dbFilename = String.Format(DbFileNameFormat, MakeLotNumber(bSN, bName), bName); + string dbFilePath = System.IO.Path.GetDirectoryName(Application.ExecutablePath) + dbFilename; + + if (Directory.Exists(System.IO.Path.GetDirectoryName(dbFilePath)) == false) + throw new Exception("No DB file path"); + if (File.Exists(dbFilePath) == false) + throw new Exception(String.Format("No DB file - {0}", dbFilePath)); + // Open database + string strConn = @"Data Source=" + dbFilePath; + using (var connection = new SQLiteConnection(strConn)) + { + Forms.fmxWait WaitForm = new Forms.fmxWait(); + WaitForm.StartPosition = FormStartPosition.CenterScreen; + try + { + connection.Open(); + BeginTran(connection); + + WaitForm.Show(); + // Insert data + using (SQLiteCommand command = connection.CreateCommand()) + { + //sSQL = "insert into TrendTable ( TrendStamp, TagName, TagValue) Values ( " + IntToStr(stamp) + "," + name + "," + value + ");"; + command.CommandText = sql; + SQLiteDataAdapter adapter = new SQLiteDataAdapter(command); + adapter.AcceptChangesDuringFill = false; + dtResult = new DataTable(); + adapter.Fill(dtResult); + dtResult.TableName = aTableName; + + System.Windows.Forms.Application.DoEvents(); + WaitForm.SetDescription(String.Format("{0}//{1}", 1, 1)); + + CommitTran(connection); + } + } + catch (Exception e) + { + result = e.Message; + } + finally + { + if (connection.State == ConnectionState.Open) + connection.Close(); + if (WaitForm != null) + WaitForm.Close(); + if (result != "") + throw new Exception(result); + } + } + return dtResult; + } + + public static DataTable GetDataTableBySelectFromDbName(string dbFileName, string sql, string aTableName, string bName) + { + string result = ""; + DataTable dtResult = null; + + string lotNo = csDbUtils.MakeLotNumber(dbFileName.Substring(0, 8), bName); + string dbFilename = String.Format(@"\db\{0}\{1}", lotNo, dbFileName); + string dbFilePath = System.IO.Path.GetDirectoryName(Application.ExecutablePath) + dbFilename; + + if (Directory.Exists(System.IO.Path.GetDirectoryName(dbFilePath)) == false) + throw new Exception("No DB file path"); + if (File.Exists(dbFilePath) == false) + throw new Exception(String.Format("No DB file - {0}", dbFilePath)); + // Open database + string strConn = @"Data Source=" + dbFilePath; + using (var connection = new SQLiteConnection(strConn)) + { + Forms.fmxWait WaitForm = new Forms.fmxWait(); + WaitForm.StartPosition = FormStartPosition.CenterScreen; + try + { + connection.Open(); + BeginTran(connection); + + WaitForm.Show(); + // Insert data + using (SQLiteCommand command = connection.CreateCommand()) + { + //sSQL = "insert into TrendTable ( TrendStamp, TagName, TagValue) Values ( " + IntToStr(stamp) + "," + name + "," + value + ");"; + command.CommandText = sql; + SQLiteDataAdapter adapter = new SQLiteDataAdapter(command); + adapter.AcceptChangesDuringFill = false; + dtResult = new DataTable(); + adapter.Fill(dtResult); + dtResult.TableName = aTableName; + + System.Windows.Forms.Application.DoEvents(); + WaitForm.SetDescription(String.Format("{0}//{1}", 1, 1)); + + CommitTran(connection); + } + } + catch (Exception e) + { + result = e.Message; + } + finally + { + if (connection.State == ConnectionState.Open) + connection.Close(); + if (WaitForm != null) + WaitForm.Close(); + if (result != "") + throw new Exception(result); + } + } + return dtResult; + } + + public static DataTable GetDataTableByFileName(string fileName, string sql, string aTableName) + { + string result = ""; + DataTable dtResult = null; + + if (Directory.Exists(System.IO.Path.GetDirectoryName(fileName)) == false) + throw new Exception("No DB file path"); + if (File.Exists(fileName) == false) + throw new Exception("No DB file"); + // Open database + string strConn = @"Data Source=" + fileName; + using (var connection = new SQLiteConnection(strConn)) + { + Forms.fmxWait WaitForm = new Forms.fmxWait(); + WaitForm.StartPosition = FormStartPosition.CenterScreen; + try + { + connection.Open(); + BeginTran(connection); + + WaitForm.Show(); + // Insert data + using (SQLiteCommand command = connection.CreateCommand()) + { + //sSQL = "insert into TrendTable ( TrendStamp, TagName, TagValue) Values ( " + IntToStr(stamp) + "," + name + "," + value + ");"; + command.CommandText = sql; + SQLiteDataAdapter adapter = new SQLiteDataAdapter(command); + adapter.AcceptChangesDuringFill = false; + dtResult = new DataTable(); + adapter.Fill(dtResult); + dtResult.TableName = aTableName; + + System.Windows.Forms.Application.DoEvents(); + WaitForm.SetDescription(String.Format("{0}//{1}", 1, 1)); + + CommitTran(connection); + } + } + catch (Exception e) + { + result = e.Message; + } + finally + { + if (connection.State == ConnectionState.Open) + connection.Close(); + if (WaitForm != null) + WaitForm.Close(); + if (result != "") + throw new Exception(result); + } + } + return dtResult; + } + + public static DataTable GetModuleMatchTableByFgNo(string fg_no, string bName) + { + DataTable dtResult = null; + + int a, b, c; + a = Convert.ToInt32(fg_no); + b = a / 300 + 1; + c = a % 300; + if ((c == 0) && (b > 0)) b--; + string mSN = String.Format("1{0:yy}{1:00}{2:000}", DateTime.Now, b, c); + string lotNo = csDbUtils.MakeLotNumber(mSN, bName); + string dbfilePath = Path.GetDirectoryName(Application.ExecutablePath) + String.Format(DbFilePathFormat, lotNo); + string[] filePaths = Directory.GetFiles(dbfilePath, "*.db"); + + if (filePaths.Length > 0) + { + for (int i = 0; i < filePaths.Length; i++) + { + string fileName = Path.GetFileName(filePaths[i]); + byte[] bfilName = Encoding.ASCII.GetBytes(fileName); + + dtResult = GetDataTableByFileName(filePaths[i], String.Format("SELECT * FROM TModuleMatch where fg_no={0}", fg_no), "TModuleMatch"); + if ((dtResult != null) && (dtResult.Rows.Count == 1)) break; + } + } + if ((dtResult == null) || (dtResult.Rows.Count == 0)) + throw new Exception(String.Format("No match data - {0}", fg_no)); + + return dtResult; + } + + public static void BmsPcbMatchDataInsert(string dbFileName, DataRow sRow) + { + string result = ""; + int resultCode = (int)SQLiteErrorCode.Unknown; + + if (Directory.Exists(System.IO.Path.GetDirectoryName(dbFileName)) == false) + throw new Exception("No DB file path"); + if (File.Exists(dbFileName) == false) + throw new Exception(String.Format("No DB file - BmsDataInsert ({0})", dbFileName)); + + // Open database + string strConn = @"Data Source=" + dbFileName; + using (var connection = new SQLiteConnection(strConn)) + { + Forms.fmxWait WaitForm = new Forms.fmxWait + { + StartPosition = FormStartPosition.CenterScreen + }; + + try + { + connection.Open(); + BeginTran(connection); + + WaitForm.Show(); + // Insert data + using (SQLiteCommand command = connection.CreateCommand()) + { + //sSQL = "insert into TrendTable ( TrendStamp, TagName, TagValue) Values ( " + IntToStr(stamp) + "," + name + "," + value + ");"; + command.CommandText = "INSERT INTO" + + " TBmsPcbMatchTable" + + " (PCB1_SERIAL_NUMBER, MODULE_SERIAL_NUMBER, create_date, modify_date)" // 2 + + " Values (?,?,?,?);"; + SQLiteParameter[] p = new SQLiteParameter[4]; + + for (int i = 0; i < 4; i++) + { + p[i] = new SQLiteParameter(); + command.Parameters.Add(p[i]); + } + + int j = 0; + p[j++].Value = sRow["PCB1_SERIAL_NUMBER"]; // pcb_sn + p[j++].Value = sRow["MODULE_SERIAL_NUMBER"]; // module_sn + p[j++].Value = DateTime.Now; // create_date + p[j++].Value = DateTime.Now; // modify_date + + command.ExecuteNonQuery(); + + WaitForm.SetDescription(String.Format("{0}//{1}", 1, 1)); + System.Windows.Forms.Application.DoEvents(); + + CommitTran(connection); + } + } + catch (SQLiteException sqle) + { + // Handle DB exception + result = sqle.Message; + resultCode = sqle.ErrorCode; + } + catch (IndexOutOfRangeException ie) + { + // If you think there might be a problem with index range in the loop, for example + result = ie.Message; + resultCode = 9999; + } + catch (Exception ex) + { + result = ex.Message; + resultCode = 9998; + } + finally + { + if (connection.State == ConnectionState.Open) + connection.Close(); + if (WaitForm != null) + WaitForm.Close(); + if (result != "") + { + if (resultCode == 9998) throw new Exception(result); + else if (resultCode == 9999) throw new IndexOutOfRangeException(result); + else throw new SQLiteException((SQLiteErrorCode)resultCode, result); + } + } + } + } + + public static void ErrorLogInsert(string dbFileName, DataRow sRow, string Process, string ErrType, string ErrMsg) + { + string result = ""; + + if (Directory.Exists(System.IO.Path.GetDirectoryName(dbFileName)) == false) + throw new Exception("No DB file path"); + if (File.Exists(dbFileName) == false) + throw new Exception(String.Format("No DB file - ErrorLogInsert ({0})", dbFileName)); + + // Open database + string strConn = @"Data Source=" + dbFileName; + using (var connection = new SQLiteConnection(strConn)) + { + try + { + connection.Open(); + BeginTran(connection); + + // Insert data + using (SQLiteCommand command = connection.CreateCommand()) + { + //sSQL = "insert into TrendTable ( TrendStamp, TagName, TagValue) Values ( " + IntToStr(stamp) + "," + name + "," + value + ");"; + command.CommandText = "INSERT INTO" + + " TErrorLogTable" + + " (create_date, MODULE_SERIAL_NUMBER, PCB1_SERIAL_NUMBER, PROCESS, ERROR_TYPE, ERROR_MSG)" // 2 + + " Values (?,?,?,?,?,?);"; + SQLiteParameter[] p = new SQLiteParameter[6]; + + for (int i = 0; i < 6; i++) + { + p[i] = new SQLiteParameter(); + command.Parameters.Add(p[i]); + } + + int j = 0; + p[j++].Value = DateTime.Now; // create_date + p[j++].Value = sRow["MODULE_SERIAL_NUMBER"]; // module_sn + p[j++].Value = sRow["PCB1_SERIAL_NUMBER"]; // pcb_sn + p[j++].Value = Process; // process + p[j++].Value = ErrType; // error type + p[j++].Value = ErrMsg; // error message + + command.ExecuteNonQuery(); + + CommitTran(connection); + } + } + catch (Exception e) + { + result = e.Message; + } + finally + { + if (connection.State == ConnectionState.Open) + connection.Close(); + if (result != "") throw new Exception(result); + } + } + } + + #endregion + + #region ALARM HISTROTY DB FUNCTION + public static DataTable GetBmsAlarmDataByDataTable(string modelName, DateTime aDateTime, string qry) + { + // 결과 테이블(항상 non-null 반환) + var dtResult = new DataTable("TAlarmHistory"); + + // 일자 기준 DB 파일명 (yyMM/yyMMdd) + string dbFilename = string.Format( + LogDbFileNameFormat, + aDateTime.ToString("yyMM"), + aDateTime.ToString("yyMMdd"), + modelName); + + // 실행파일 경로 + 로그 DB 상대경로 + 파일명 안전 결합 + string exeDir = Path.GetDirectoryName(Application.ExecutablePath); + if (string.IsNullOrEmpty(exeDir)) + exeDir = AppDomain.CurrentDomain.BaseDirectory; + + string logPath = (LogDbFilePath ?? string.Empty) + .TrimStart(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar); + string dbDir = csUtils.CombineSafe(exeDir, logPath); + string dbFilePath = csUtils.CombineSafe(dbDir, dbFilename); + + if (!File.Exists(dbFilePath)) + return dtResult; // 빈 테이블 반환 + + // 당일 범위(00:00:00 ~ 다음날 00:00:00) + DateTime start = aDateTime.Date; + DateTime end = start.AddDays(1); + + // 조회 컬럼 지정 (SELECT * 지양) + string cols = string.Join(", ", new[] + { + "create_date","alarm_code","alarm_status","alarm_cname","alarm_sname", + "module_no","ct_no","alarm_param_1","alarm_param_2","alarm_param_3" + }); + + // 기본 WHERE (날짜 범위) + string sql = + $"SELECT {cols} FROM TAlarmHistory " + + $"WHERE create_date >= @start AND create_date < @end"; + + // 주의) qry는 그대로 붙이면 인젝션 위험. 반드시 신뢰 가능한 내부 생성 문자열만 사용하세요. + if (!string.IsNullOrWhiteSpace(qry)) + { + sql += " AND (" + qry + ")"; + } + + sql += " ORDER BY create_date DESC"; + + using (var connection = new SQLiteConnection(@"Data Source=" + dbFilePath)) + { + connection.Open(); + // ★ 성능/동시성 PRAGMA 적용 (WAL + busy_timeout 등) — C# 7.3 호환 + csDbUtils.SqlitePragmaHelper.ApplyPragmas(connection, false); // forReader: false + + using (var command = connection.CreateCommand()) + { + command.CommandText = sql; + + // 날짜 파라미터 바인딩 (SQLite는 TEXT/REAL/INTEGER 저장 허용. DbType.DateTime 사용) + var pStart = new SQLiteParameter("@start", DbType.DateTime) { Value = start }; + var pEnd = new SQLiteParameter("@end", DbType.DateTime) { Value = end }; + command.Parameters.Add(pStart); + command.Parameters.Add(pEnd); + + using (var adapter = new SQLiteDataAdapter(command)) + { + adapter.AcceptChangesDuringFill = false; + adapter.Fill(dtResult); + } + } + + if (connection.State == ConnectionState.Open) + connection.Close(); + } + + return dtResult; + } + #endregion + + #region SELECT QUARY + + public static int DbQuaryExcuteToDataTable(string dbFileName, string Quary, ref DataTable rDT) + { + int result = 0; + string resultStr = String.Empty; + + string strConn = @"Data Source=" + dbFileName; + using (var connection = new SQLiteConnection(strConn)) + { + try + { + connection.Open(); + BeginTran(connection); + + // Insert data + using (SQLiteCommand command = connection.CreateCommand()) + { + //sSQL = "insert into TrendTable ( TrendStamp, TagName, TagValue) Values ( " + IntToStr(stamp) + "," + name + "," + value + ");"; + command.CommandText = Quary; + SQLiteDataAdapter adapter = new SQLiteDataAdapter(command); + adapter.AcceptChangesDuringFill = false; + rDT = new DataTable(); + adapter.Fill(rDT); + //rDT.TableName = "TModuleValue"; + + CommitTran(connection); + + result = rDT.Rows.Count; + + System.Windows.Forms.Application.DoEvents(); + } + } + catch (Exception e) + { + resultStr = e.Message; + } + finally + { + if (connection.State == ConnectionState.Open) + connection.Close(); + if (resultStr != "") throw new Exception(resultStr); + } + } + return result; + } + + public static void CreateLogDbFile(string dbFileName) + { + string result = ""; + + if (Directory.Exists(Path.GetDirectoryName(dbFileName)) == false) + throw new Exception("No DB file path"); + if (File.Exists(dbFileName) == true) + throw new Exception(String.Format("Already have DB file - DbQuaryExcuteToDbFile({0})", dbFileName)); + + // Create database + SQLiteConnection.CreateFile(dbFileName); + + // Open database + string strConn = @"Data Source=" + dbFileName; + using (var connection = new SQLiteConnection(strConn)) + { + Forms.fmxWait WaitForm = new Forms.fmxWait(); + WaitForm.StartPosition = FormStartPosition.CenterScreen; + try + { + connection.Open(); + BeginTran(connection); + + WaitForm.Show(); + // Insert data + using (SQLiteCommand command = connection.CreateCommand()) + { + string schemaFile = Path.GetDirectoryName(Application.ExecutablePath) + LogDbSchemaTableFileName; + string query = File.ReadAllText(schemaFile); + + command.CommandText = query; + SQLiteDataReader reader = null; + reader = command.ExecuteReader(); + + WaitForm.SetDescription(String.Format("{0}//{1}", 1, 1)); + System.Windows.Forms.Application.DoEvents(); + + CommitTran(connection); + } + } + catch (Exception e) + { + result = e.Message; + } + finally + { + if (connection.State == ConnectionState.Open) + connection.Close(); + if (WaitForm != null) + WaitForm.Close(); + if (result != "") throw new Exception(result); + } + } + } + + public static void DbInsertDataToDbFile(string dbFileName, DataRow dtRow) + { + string result = ""; + + if (Directory.Exists(Path.GetDirectoryName(dbFileName)) == false) + throw new Exception("No DB file path"); + if (File.Exists(dbFileName) == false) + throw new Exception(String.Format("No DB file - DbInsertDataToDbFile({0})", dbFileName)); + + // Open database + string strConn = @"Data Source=" + dbFileName; + using (var connection = new SQLiteConnection(strConn)) + { + try + { + connection.Open(); + BeginTran(connection); + + // Insert data + using (SQLiteCommand command = connection.CreateCommand()) + { + command.CommandText = String.Format("INSERT INTO TModuleValue ("); + command.CommandText += "create_date" // 0 + + ", module_no" // 1 + + ", pcb_sn" // 2 + + ", module_sn" // 3 + + ", fw_ver" // 4 + + ", comm_fail" // 5 + + ", op_status" // 6 + + ", alarm_status" // 7 + + ", warning" // 8 + + ", fault" // 9 + + ", module_voltage" // 10 + + ", module_current" // 11 + + ", module_soc" // 12 + + ", module_soh" // 13 + ; + for (int i = 0; i < 15; i++) + { + command.CommandText += String.Format(", cell_voltage_{0:00}", i + 1); // 14 ~ 28; 15 cells + } + for (int i = 0; i < 6; i++) + { + command.CommandText += String.Format(", temperature_{0:00}", i + 1); // 29 ~ 34; 6 temps + } + command.CommandText += "" + + ", chg_option" // 35 + + ", chg_cal" // 36 + + ", dch_cal" // 37 + + ")" + + " Values ("; + + int total = dtRow.Table.Columns.Count; + + for (int i = 0; i < (total - 1); i++) command.CommandText += "?,"; + command.CommandText += "?);"; + + SQLiteParameter[] p = new SQLiteParameter[total]; + + for (int i = 0; i < total; i++) + { + if (i == 0) + p[i] = new SQLiteParameter(DbType.DateTime); + else + p[i] = new SQLiteParameter(); + command.Parameters.Add(p[i]); + } + + int j = 0; + p[j++].Value = String.Format("{0:yyyy/MM/dd HH:mm:ss}", dtRow["create_date"]); // 0 create_date + p[j++].Value = dtRow["module_no"]; // 1 module_no + p[j++].Value = dtRow["pcb_sn"]; // 2 pcb_sn + p[j++].Value = dtRow["module_sn"]; // 3 module_sn + p[j++].Value = dtRow["fw_ver"]; // 4 fw_ver + p[j++].Value = dtRow["comm_fail"]; // 5 comm_fail + p[j++].Value = dtRow["op_status"]; // 6 op_status + p[j++].Value = dtRow["alarm_status"]; // 7 alarm_status + p[j++].Value = dtRow["warning"]; // 8 warning + p[j++].Value = dtRow["fault"]; // 9 fault + p[j++].Value = dtRow["module_voltage"]; // 10 module_voltage + p[j++].Value = dtRow["module_current"]; // 11 module_current + p[j++].Value = dtRow["module_soc"]; // 12 module_soc + p[j++].Value = dtRow["module_soh"]; // 13 module_soh + + for (int i = 0; i < 15; i++) + { + p[j++].Value = dtRow[String.Format("cell_voltage_{0:00}", i + 1)]; // 14 cell_voltage_01 28 + } + for (int i = 0; i < 6; i++) + { + p[j++].Value = dtRow[String.Format("temperature_{0:00}", i + 1)]; // 29 cell_voltage_01 36 + } + + p[j++].Value = dtRow["chg_option"]; // 37 chg_option + p[j++].Value = dtRow["chg_cal"]; // 38 chg_cal + p[j++].Value = dtRow["dch_cal"]; // 39 dch_cal + + command.ExecuteNonQuery(); + + CommitTran(connection); + } + } + catch (SQLiteException se) + { + if (se.ResultCode != SQLiteErrorCode.Constraint) + result = se.Message; + } + catch (Exception e) + { + result = e.Message; + } + finally + { + if (connection.State == ConnectionState.Open) + connection.Close(); + if (result != "") throw new Exception(result); + } + } + } + + public static DataTable BmsDataSelectToDataTable(CommConfig aConfig, DateTime aDate, string qry) + { + string result = ""; + DataTable dtResult = null; + string ModelName = csConstData.UART_MODEL[aConfig.UartModelIndex]; + string dbFilename = String.Format(LogDbFileNameFormat + , String.Format("{0:yyMM}", aDate) + , String.Format("{0:yyMMdd}", aDate) + , ModelName + ); + string dbFilePath = Path.GetDirectoryName(Application.ExecutablePath) + LogDbFilePath + dbFilename; + + if (Directory.Exists(System.IO.Path.GetDirectoryName(dbFilePath)) == false) + return dtResult; + if (File.Exists(dbFilePath) == false) + return dtResult; + + string strConn = @"Data Source=" + dbFilePath; + using (var connection = new SQLiteConnection(strConn)) + { + try + { + connection.Open(); + BeginTran(connection); + + // Insert data + using (SQLiteCommand command = connection.CreateCommand()) + { + //sSQL = "insert into TrendTable ( TrendStamp, TagName, TagValue) Values ( " + IntToStr(stamp) + "," + name + "," + value + ");"; + command.CommandText = String.Format("SELECT * FROM TModuleValue {0}", qry); + SQLiteDataAdapter adapter = new SQLiteDataAdapter(command); + adapter.AcceptChangesDuringFill = false; + dtResult = new DataTable(); + adapter.Fill(dtResult); + dtResult.TableName = "TModuleValue"; + + CommitTran(connection); + + System.Windows.Forms.Application.DoEvents(); + } + } + catch (Exception e) + { + result = e.Message; + } + finally + { + if (connection.State == ConnectionState.Open) + connection.Close(); + if (result != "") throw new Exception(result); + } + } + return dtResult; + } + #endregion + + #region DB PRAGMA FUNCTION + public static class SqlitePragmaHelper + { + /// + /// SQLite PRAGMA 설정을 적용합니다. + /// - forWriter = true : 로그 쓰기 스레드(INSERT)용 프로파일 + /// - forWriter = false: UI 조회(SELECT)용 프로파일 + /// + public static void ApplyPragmas(SQLiteConnection conn, bool forWriter) + { + // C# 7.3: using(var ...) 패턴 사용 + using (var cmd = conn.CreateCommand()) + { + var sb = new StringBuilder(); + + // 공통 권장값 + sb.AppendLine("PRAGMA journal_mode=WAL;"); // 동시 읽기/쓰기 + sb.AppendLine("PRAGMA busy_timeout=3000;"); // 잠금 대기(ms) + sb.AppendLine("PRAGMA temp_store=MEMORY;"); // 임시 테이블 메모리 + sb.AppendLine("PRAGMA cache_size=-8000;"); // 8MB(음수=KB) + + if (forWriter) + { + // 쓰기 성능/안정성 균형 + sb.AppendLine("PRAGMA synchronous=NORMAL;"); + sb.AppendLine("PRAGMA locking_mode=NORMAL;"); + // sb.AppendLine("PRAGMA foreign_keys=OFF;"); // FK 미사용 시만 + } + else + { + // 읽기 전용 커넥션(조회) + sb.AppendLine("PRAGMA synchronous=OFF;"); // 읽기에는 의미 거의 없음 + sb.AppendLine("PRAGMA locking_mode=NORMAL;"); + } + + cmd.CommandText = sb.ToString(); + cmd.ExecuteNonQuery(); + } + } + + /// + /// 환경/현장에 맞게 타임아웃/캐시 크기를 조절해서 적용하고 싶을 때. + /// cacheSizeKB: 음수면 KB 단위(권장), 예: -8000 = 8MB + /// + public static void ApplyPragmas(SQLiteConnection conn, bool forWriter, int busyTimeoutMs, int cacheSizeKB) + { + using (var cmd = conn.CreateCommand()) + { + var sb = new StringBuilder(); + + sb.AppendLine("PRAGMA journal_mode=WAL;"); + sb.AppendLine("PRAGMA busy_timeout=" + busyTimeoutMs + ";"); + sb.AppendLine("PRAGMA temp_store=MEMORY;"); + sb.AppendLine("PRAGMA cache_size=" + cacheSizeKB + ";"); + + if (forWriter) + { + sb.AppendLine("PRAGMA synchronous=NORMAL;"); + sb.AppendLine("PRAGMA locking_mode=NORMAL;"); + } + else + { + sb.AppendLine("PRAGMA synchronous=OFF;"); + sb.AppendLine("PRAGMA locking_mode=NORMAL;"); + } + + cmd.CommandText = sb.ToString(); + cmd.ExecuteNonQuery(); + } + } + + /// + /// 현재 PRAGMA 상태를 로깅(디버깅용). + /// + public static void LogPragmas(SQLiteConnection conn, System.Action log) + { + var names = new[] + { + "journal_mode","synchronous","busy_timeout","temp_store", + "cache_size","locking_mode","wal_autocheckpoint","page_size","mmap_size" + }; + + using (var cmd = conn.CreateCommand()) + { + for (int i = 0; i < names.Length; i++) + { + cmd.CommandText = "PRAGMA " + names[i] + ";"; + object val = cmd.ExecuteScalar(); + if (log != null) + log("PRAGMA " + names[i] + " = " + (val ?? "(null)")); + } + } + } + + /// + /// WAL 파일을 DB로 반영하고 WAL 파일을 truncate 합니다. + /// 프로그램 종료 시 1회 또는 하루 1회 등으로 호출 권장. + /// + public static void WalCheckpointTruncate(SQLiteConnection conn) + { + using (var cmd = conn.CreateCommand()) + { + cmd.CommandText = "PRAGMA wal_checkpoint(TRUNCATE);"; + cmd.ExecuteNonQuery(); + } + } + } + #endregion + + #region GRID VIEW COLUMN HIDE + // 바인딩 끝난 뒤(예: DataSource 설정 직후)에 실행 + public static void HideColumns(DataGridView grid, params string[] names) + { + foreach (var name in names) + { + if (grid.Columns.Contains(name)) + grid.Columns[name].Visible = false; // 칼럼 자체 숨김 + } + } + #endregion + + public class SQLITE + { + private SQLiteConnection con; + private SQLiteCommand cmd; + private SQLiteDataAdapter adapter; + + public SQLITE(string databasename) + { + con = new SQLiteConnection(string.Format("Data Source={0};Compress=True;", databasename)); + } + + public int Execute(string sql_statement) + { + con.Open(); + cmd = con.CreateCommand(); + cmd.CommandText = sql_statement; + int row_updated; + try + { + row_updated = cmd.ExecuteNonQuery(); + } + catch + { + con.Close(); + return 0; + } + con.Close(); + return row_updated; + } + public DataTable GetDataTable(string tablename) + { + DataTable DT = new DataTable(); + con.Open(); + cmd = con.CreateCommand(); + cmd.CommandText = string.Format("SELECT * FROM {0}", tablename); + adapter = new SQLiteDataAdapter(cmd); + adapter.AcceptChangesDuringFill = false; + adapter.Fill(DT); + con.Close(); + DT.TableName = tablename; + return DT; + } + public void SaveDataTable(DataTable DT) + { + try + { + Execute(string.Format("DELETE FROM {0}", DT.TableName)); + con.Open(); + cmd = con.CreateCommand(); + cmd.CommandText = string.Format("SELECT * FROM {0}", DT.TableName); + adapter = new SQLiteDataAdapter(cmd); + SQLiteCommandBuilder builder = new SQLiteCommandBuilder(adapter); + adapter.Update(DT); + con.Close(); + } + catch (Exception Ex) + { + MessageBox.Show(Ex.Message); + } + } + } + } +} diff --git a/LFP_Manager/Utils/csExcelControl.cs b/LFP_Manager/Utils/csExcelControl.cs new file mode 100644 index 0000000..bd9d7ee --- /dev/null +++ b/LFP_Manager/Utils/csExcelControl.cs @@ -0,0 +1,299 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.IO; +using System.Data; +using System.Data.OleDb; + +namespace LFP_Manager.Utils +{ + class csExcelControl + { + /// + /// Excel Database Control Class + /// version 0.1.5 + /// + /// + /// 자유배포 + /// 황현우 [ LiA's Blog ] + /// http://blog.naver.com/exila + /// CoreBank Co.,Ltd. + /// 불펌금지효.. 만든 사람의 성의좀 생각을..-_-;; + /// + /*--------------------------------------------------------------------- + * Connection String 에는 어마어마한 옵션들이.. 주로 영문 사이트이긴 + * 하지만 좀더 상세한 제어를 원한다면 OleDB Connection String 옵션과 + * Extended Properties 에 들어가는 Excel Option 들을 살펴보는 것이 좋을 + * 듯.. HDR = 첫줄을 헤더로 사용할 것인지,IMEX = 데이터유형적용여부 등등 + *-------------------------------------------------------------------*/ + + // 확장명 XLS (Excel 97~2003 용) + private const string ConnectStrFrm_Excel97_2003 = + "Provider=Microsoft.Jet.OLEDB.4.0;" + + "Data Source=\"{0}\";" + + "Mode=ReadWrite|Share Deny None;" + + "Extended Properties='Excel 8.0; HDR={1}; IMEX={2}';" + + "Persist Security Info=False"; + + // 확장명 XLSX (Excel 2007 이상용) + private const string ConnectStrFrm_Excel = + "Provider=Microsoft.ACE.OLEDB.12.0;" + + "Data Source=\"{0}\";" + + "Mode=ReadWrite|Share Deny None;" + + "Extended Properties='Excel 12.0; HDR={1}; IMEX={2}';" + + "Persist Security Info=False"; + + + /// + /// Excel 파일의 형태를 반환한다. + /// -2 : Error + /// -1 : 엑셀파일아님 + /// 0 : 97-2003 엑셀 파일 (xls)0 + /// 1 : 2007 이상 파일 (xlsx) + /// + /// + /// Excel File 명 전체 경로입니다. + /// + public static int ExcelFileType(string XlsFile) + { + byte[,] ExcelHeader = { + { 0xD0, 0xCF, 0x11, 0xE0, 0xA1 }, // XLS File Header + { 0x50, 0x4B, 0x03, 0x04, 0x14 } // XLSX File Header + }; + + // result -2 = error, -1 = not excel , 0 = xls , 1 = xlsx + int result = -1; + FileInfo FI = new FileInfo(XlsFile); + FileStream FS = FI.Open(FileMode.Open); + + try + { + byte[] FH = new byte[5]; + FS.Read(FH, 0, 5); + for (int i = 0; i < 2; i++) + { + for (int j = 0; j < 5; j++) + { + if (FH[j] != ExcelHeader[i, j]) break; + else if (j == 4) result = i; + } + if (result >= 0) break; + } + } + catch + { + result = (-2); + //throw e; + } + finally + { + FS.Close(); + } + return result; + } + + /// + /// Excel 파일을 DataSet 으로 변환하여 반환한다. + /// + /// + /// Excel File 명 PullPath + /// + /// + /// 첫번째 줄을 Field 명으로 사용할 것이지 여부 + /// + private static DataSet OpenExcel(string FileName, bool UseHeader) + { + DataSet DS = null; + + string[] HDROpt = { "NO", "YES" }; + string HDR = ""; + string ConnStr = ""; + + if (UseHeader) + HDR = HDROpt[1]; + else + HDR = HDROpt[0]; + + int ExcelType = ExcelFileType(FileName); + switch (ExcelType) + { + case (-2): throw new Exception(FileName + "의 형식검사중 오류가 발생하였습니다."); // An error occurred during type inspection + case (-1): throw new Exception(FileName + "은 엑셀 파일형식이 아닙니다."); // Is not an Excel file format. + case ( 0): ConnStr = string.Format(ConnectStrFrm_Excel97_2003, FileName, HDR, "1"); break; + case ( 1): ConnStr = string.Format(ConnectStrFrm_Excel, FileName, HDR, "1"); break; + } + + OleDbConnection OleDBConn = null; + OleDbDataAdapter OleDBAdap = null; + DataTable Schema; + + try + { + OleDBConn = new OleDbConnection(ConnStr); + OleDBConn.Open(); + + Schema = OleDBConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); + + DS = new DataSet(); + + foreach (DataRow DR in Schema.Rows) + { + OleDBAdap = new OleDbDataAdapter(DR["TABLE_NAME"].ToString(), OleDBConn); + + OleDBAdap.SelectCommand.CommandType = CommandType.TableDirect; + OleDBAdap.AcceptChangesDuringFill = false; + + string TableName = DR["TABLE_NAME"].ToString().Replace("$", String.Empty).Replace("'", String.Empty); + + if (DR["TABLE_NAME"].ToString().Contains("$")) OleDBAdap.Fill(DS, TableName); + } + } + catch (Exception e) + { + throw e; + } + finally + { + if (OleDBConn != null) OleDBConn.Close(); + } + return DS; + } + + /// + /// DataSet 을 Excel 파일로 저장한다. + /// + /// + /// Excel File 명 PullPath + /// + /// + /// Excel 로 저장할 대상 DataSet 객체. + /// + /// + /// 동일한 파일명이 있을 때 삭제 할 것인지 여부, 파일이 있고 false 면 저장안하고 그냥 false 를 리턴. + /// + /// + /// xls 형태로 저장할 것인지 여부, false 이면 xlsx 형태로 저장함. + /// + private static bool SaveExcel(string FileName, DataSet DS, bool ExistDel, bool OldExcel) + { + bool result = true; + + if (File.Exists(FileName)) + if (ExistDel) File.Delete(FileName); + else return result; + + string TempFile = FileName; + // 파일 확장자가 xls 이나 xlsx 가 아니면 아예 파일을 안만들어서 + // 템프파일로 생성후 지정한 파일명으로 변경.. + + OleDbConnection OleDBConn = null; + + try + { + OleDbCommand Cmd = null; + string ConnStr = ""; + + if (OldExcel) + { + TempFile = TempFile + ".xls"; + ConnStr = string.Format(ConnectStrFrm_Excel97_2003, TempFile, "YES", "0"); + } + else + { + TempFile = TempFile + ".xlsx"; + ConnStr = string.Format(ConnectStrFrm_Excel, TempFile, "YES", "0"); + } + + OleDBConn = new OleDbConnection(ConnStr); + OleDBConn.Open(); + + // Create Table(s).. : 테이블 단위 처리 + foreach (DataTable DT in DS.Tables) + { + String TableName = DT.TableName; + + StringBuilder FldsInfo = new StringBuilder(); + StringBuilder Flds = new StringBuilder(); + + // Create Field(s) String : 현재 테이블의 Field 명 생성 + foreach (DataColumn Column in DT.Columns) + { + if (FldsInfo.Length > 0) + { + FldsInfo.Append(","); + Flds.Append(","); + } + + FldsInfo.Append("[" + Column.ColumnName.Replace("'", "''") + "] CHAR(255)"); + Flds.Append(Column.ColumnName.Replace("'", "''")); + } + + // Table Create + Cmd = new OleDbCommand("CREATE TABLE " + TableName + "(" + FldsInfo.ToString() + ")", OleDBConn); + Cmd.ExecuteNonQuery(); + + // Insert Data + foreach (DataRow DR in DT.Rows) + { + StringBuilder Values = new StringBuilder(); + foreach (DataColumn Column in DT.Columns) + { + if (Values.Length > 0) Values.Append(","); + Values.Append("'" + DR[Column.ColumnName].ToString().Replace("'", "''") + "'"); + } + + Cmd = new OleDbCommand( + "INSERT INTO [" + TableName + "$]" + + "(" + Flds.ToString() + ") " + + "VALUES (" + Values.ToString() + ")", + OleDBConn); + Cmd.ExecuteNonQuery(); + } + } + } + catch (Exception) + { + result = false; + } + finally + { + if (OleDBConn != null) OleDBConn.Close(); + try + { + if (File.Exists(TempFile)) + { + File.Move(TempFile, FileName); + } + } + catch { } + } + return result; + } + + /// + /// Excel 파일을 DataSet 으로 변환하여 반환한다. + /// + /// + /// 읽어올 Excel File 명(전체경로)입니다. + /// + public static DataSet OpenExcelDB(string ExcelFile) + { + return OpenExcel(ExcelFile, true); + } + + /// + /// DataSet 을 Excel 파일로 저장한다. 동일 파일명이 있으면 Overwrite 됩니다. + /// + /// + /// 저장할 Excel File 명(전체경로)입니다. + /// + /// + /// 저장할 대상 DataSet 입니다. + /// + public static bool SaveExcelDB(string ExcelFile, DataSet DS) + { + return SaveExcel(ExcelFile, DS, true, false); + } + } +} diff --git a/LFP_Manager/Utils/csLog.cs b/LFP_Manager/Utils/csLog.cs new file mode 100644 index 0000000..5b66396 --- /dev/null +++ b/LFP_Manager/Utils/csLog.cs @@ -0,0 +1,616 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.IO; +using System.Runtime.InteropServices; + +using LFP_Manager.DataStructure; + +using log4net; +using log4net.Appender; +using log4net.Layout; +using log4net.Repository.Hierarchy; + +namespace LFP_Manager.Utils +{ + public class csL4Logger + { + private static csL4Logger LoggerInstance; + + public ILog log; + public RollingFileAppender rollingAppender; + public PatternLayout layout; + public log4net.Filter.LoggerMatchFilter lmf; + + public static csL4Logger GetInstance() + { + if (LoggerInstance == null) + { + LoggerInstance = new csL4Logger(); + } + return LoggerInstance; + } + + public csL4Logger() + { + string FilePath = AppDomain.CurrentDomain.BaseDirectory + "\\Log\\App.log"; // 실행폴더 아래에 Log폴더 + + Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository(); + hierarchy.Configured = true; + + RollingFileAppender rollingAppender = new RollingFileAppender(); + rollingAppender.Name = "logger"; + rollingAppender.File = FilePath; // 로그파일 이름 + rollingAppender.AppendToFile = true; + + rollingAppender.StaticLogFileName = true; + rollingAppender.CountDirection = 1; + rollingAppender.RollingStyle = RollingFileAppender.RollingMode.Date; + rollingAppender.DatePattern = "_yyyyMMdd\".log\""; // 날짜가 변경되면 이전 로그에 붙은 이름 + + PatternLayout layout = new PatternLayout("%date [%-5level] %message%newline"); // 로그출력 포맷 + + rollingAppender.Layout = layout; + + hierarchy.Root.AddAppender(rollingAppender); + rollingAppender.ActivateOptions(); + hierarchy.Root.Level = log4net.Core.Level.All; + + log = LogManager.GetLogger("logger"); + Logger l = (Logger)log.Logger; + } + + public void AddDebug(string LogMsg) + { + log.Debug(LogMsg); + } + + public void AddError(string LogMsg) + { + log.Error(LogMsg); + } + + public void Close() + { + LogManager.Shutdown(); + } + } + + class csLog + { + private static string SYSTEMLOG_FILE_DIR_M = "\\log\\systemlog"; + private static string SYSTEMLOG_FILE_DIR = "\\log\\systemlog"; + + private static string DB_FILE_DIR = @"\db"; + + public static string GetLogFolder(string AppPath) + { + string path = System.IO.Path.GetDirectoryName(AppPath); + + if (Directory.Exists(path + SYSTEMLOG_FILE_DIR_M) == false) + Directory.CreateDirectory(path + SYSTEMLOG_FILE_DIR_M); + + return path + SYSTEMLOG_FILE_DIR_M; + } + + public static string GetDbFolder(string AppPath) + { + string path = System.IO.Path.GetDirectoryName(AppPath); + + if (Directory.Exists(path + DB_FILE_DIR) == false) + Directory.CreateDirectory(path + DB_FILE_DIR); + + return path + DB_FILE_DIR; + } + + public static void SystemDataLog(int RackID, CommConfig sConfig, CsDeviceData.DeviceModuleData mData, DateTime aTime, string AppPath) + { + SYSTEMLOG_FILE_DIR = String.Format("{0}\\SHELF{1}\\{2}", "\\log\\systemlog", RackID, String.Format("{0:yyyyMM}", aTime)); + + FileStream logFile = null; + string path = System.IO.Path.GetDirectoryName(AppPath); + string FileName = String.Format(path + SYSTEMLOG_FILE_DIR + "\\SHELF{0}_LOG_{1}.csv", RackID, String.Format("{0:yyMMdd}", aTime)); + byte[] logData; + + if (Directory.Exists(path + SYSTEMLOG_FILE_DIR) == false) + Directory.CreateDirectory(path + SYSTEMLOG_FILE_DIR); + + if (File.Exists(FileName) == false) + { + logFile = new FileStream(FileName, FileMode.CreateNew, FileAccess.ReadWrite); + logData = WriteDataHeader(aTime, mData); + logFile.Write(logData, 0, logData.Length); + logFile.Close(); + } + + logFile = null; + //logFile = new FileStream(FileName, FileMode.Open, FileAccess.ReadWrite); + logFile = new FileStream(FileName, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); + + if (logFile != null) + { + logFile.Seek(0, SeekOrigin.End); + logData = WriteData(aTime, sConfig, mData); + logFile.Write(logData, 0, logData.Length); + logFile.Close(); + } + } + + public static void SystemTotalDataLog(CommConfig sConfig, CsDeviceData.DeviceSystemTotalData tData, DateTime aTime, string AppPath, string LogFileName) + { + SYSTEMLOG_FILE_DIR = String.Format("{0}\\MAIN\\{1}", "\\log\\systemlog", String.Format("{0:yyyyMM}", aTime)); + + FileStream logFile = null; + string path = System.IO.Path.GetDirectoryName(AppPath); + //string FileName = String.Format(path + SYSTEMLOG_FILE_DIR + "\\SHELF{0}_LOG_{1}.csv", RackID, String.Format("{0:yyMMdd}", aTime)); + string FileName = String.Format(path + SYSTEMLOG_FILE_DIR + "\\MAIN_LOG_{0}.csv", LogFileName); + byte[] logData; + + if (Directory.Exists(path + SYSTEMLOG_FILE_DIR) == false) + Directory.CreateDirectory(path + SYSTEMLOG_FILE_DIR); + + if (File.Exists(FileName) == false) + { + logFile = new FileStream(FileName, FileMode.CreateNew, FileAccess.ReadWrite); + logData = WriteTotalDataHeader(aTime); + logFile.Write(logData, 0, logData.Length); + logFile.Close(); + } + + logFile = null; + //logFile = new FileStream(FileName, FileMode.Open, FileAccess.ReadWrite); + logFile = new FileStream(FileName, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); + + if (logFile != null) + { + logFile.Seek(0, SeekOrigin.End); + logData = WriteTotalData(aTime, sConfig, tData); + logFile.Write(logData, 0, logData.Length); + logFile.Close(); + } + } + + public static void SystemDataLog(int mID, CommConfig sConfig, CsDeviceData.DeviceModuleData mData, DateTime aTime, string AppPath, string LogFileName) + { + SYSTEMLOG_FILE_DIR = String.Format("{0}\\SHELF{1}\\{2}", "\\log\\systemlog", mID, String.Format("{0:yyyyMM}", aTime)); + + FileStream logFile = null; + string path = Path.GetDirectoryName(AppPath); + //string FileName = String.Format(path + SYSTEMLOG_FILE_DIR + "\\SHELF{0}_LOG_{1}.csv", RackID, String.Format("{0:yyMMdd}", aTime)); + string FileName = String.Format(path + SYSTEMLOG_FILE_DIR + "\\SHELF{0}_LOG_{1}.csv", mID, LogFileName); + byte[] logData; + + if (Directory.Exists(path + SYSTEMLOG_FILE_DIR) == false) + Directory.CreateDirectory(path + SYSTEMLOG_FILE_DIR); + + if (File.Exists(FileName) == false) + { + logFile = new FileStream(FileName, FileMode.CreateNew, FileAccess.ReadWrite); + logData = WriteDataHeader(aTime, mData); + logFile.Write(logData, 0, logData.Length); + logFile.Close(); + } + + logFile = null; + //logFile = new FileStream(FileName, FileMode.Open, FileAccess.ReadWrite); + logFile = new FileStream(FileName, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); + + if (logFile != null) + { + logFile.Seek(0, SeekOrigin.End); + logData = WriteData(aTime, sConfig, mData); + logFile.Write(logData, 0, logData.Length); + logFile.Close(); + } + } + + #region SYSTEM DATE LOGGING + + private static byte[] WriteTotalDataHeader(DateTime aDateTime) + { + string tt; + string sdata; + + tt = aDateTime.ToString("yyyy-MM-dd HH:mm:ss"); + sdata = String.Format( + "{0},{1},{2},{3},{4},{5},{6},{7},{8},{9}," + , "DATETIME" // 0 + , "INTERFACE" // 1 + , "MODEL" // 2 + , "COMM STATUS" // 3 + , "STATUS" // 4 + , "ALARM" // 5 + , "VOLTAGE" // 6 + , "CURRENT" // 7 + , "SOC" // 8 + , "MAX. TEMP" // 9 + ); + sdata += "\r\n"; + + Byte[] info = + new UTF8Encoding(true).GetBytes(sdata); + + return info; + } + + private static byte[] WriteDataHeader(DateTime aDateTime, CsDeviceData.DeviceModuleData mData) + { + string tt; + string sdata; + + tt = aDateTime.ToString("yyyy-MM-dd HH:mm:ss"); + sdata = String.Format( + "{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12}," + , "DATETIME" // 0 + , "INTERFACE" // 1 + , "MODEL" // 2 + , "FW_VER" // 3 + , "MODULE_SN" // 4 + , "COMM STATUS" // 5 + , "STATUS" // 6 + , "ALARM" // 7 + , "VOLTAGE" // 8 + , "CURRENT" // 9 + , "SOC" // 10 + , "SOH" // 11 + , "CYCLES" // 12 + ); + sdata += "CV_DIFF,"; + for (int i = 0; i < mData.cellQty; i++) + { + sdata += String.Format("{0},", String.Format("Cell_{0}", i + 1)); + } + + sdata += "TP_DIFF,"; + for (int i = 0; i < mData.tempQty; i++) + { + sdata += String.Format("{0},", String.Format("Temp_{0}", i + 1)); + } + + sdata += String.Format("{0},", String.Format("EXT1_Temp")); + sdata += String.Format("{0},", String.Format("EXT2_Temp")); + + sdata += String.Format( + "{0},{1},{2}," + , "Warning" // 0 + , "Fault" // 1 + , "CB" // 2 + ); + sdata += "\r\n"; + + Byte[] info = + new UTF8Encoding(true).GetBytes(sdata); + + return info; + } + + private static string GetStatusString(ushort aStatus) + { + string result = ""; + + if (aStatus == 0) + { + result = "STANDBY"; + } + else if (aStatus == 1) + { + result = "CHARGING"; + } + else if (aStatus == 2) + { + result = "DISCHARGING"; + } + else if (aStatus == 3) + { + result = "FLOATING"; + } + else + { + result = "UNKNOWN"; + } + return result; + } + + private static string GetAlarmString(ushort aAlarm) + { + string result = ""; + bool[] rackStatus = csUtils.UInt16ToBitArray(aAlarm); + + if (aAlarm == 0) result = "NORMAL"; + else if (aAlarm == 1) result = "WARNING"; + else if (aAlarm == 2) result = "FAULT"; + else if (aAlarm == 3) result = "WARMING UP"; + else result = "UNKNOWN"; + + return result; + } + + private static string GetInterface(int sCommType) + { + string result = ""; + + result = "UART"; + + return result; + } + + private static string GetModelName(CommConfig sConfig) + { + string result = ""; + + result = csConstData.UART_MODEL[sConfig.UartModelIndex]; + + return result; + } + + private static string GetCommStatus(CommConfig sConfig, CsDeviceData.DeviceModuleData mData) + { + string result = ""; + + switch (sConfig.CommType) + { + case csConstData.CommType.COMM_UART: + result = mData.CommFail == false ? "NORM" : "FAIL"; + break; + case csConstData.CommType.COMM_RS485: + result = mData.CommFail == false ? "NORM" : "FAIL"; + break; + case csConstData.CommType.COMM_SNMP: + if (mData.CommFail == false) + { + if (mData.ShelfCommFail == false) result = "NORM"; + else result = "FAIL"; + } + else + { + result = "OFF-LINE"; + } + break; + default: + break; + } + return result; + } + + private static string GetCommStatus(CsDeviceData.DeviceSystemTotalData aTotalData) + { + string result = ""; + + if (aTotalData.CommFail) + result = "OFF-LINE"; + else + result = "NORM"; + + return result; + } + + private static byte[] WriteTotalData(DateTime aLog, CommConfig sConfig, CsDeviceData.DeviceSystemTotalData tData) + { + string tt; + string sdata; + + tt = aLog.ToString("yyyy-MM-dd HH:mm:ss"); + sdata = String.Format( + "{0},{1},{2},{3},{4},{5},{6},{7},{8},{9}," + , tt // 0 DATETIME + , GetInterface(sConfig.CommType) // 1 INTERFACE + , GetModelName(sConfig) // 2 MODEL + , GetCommStatus(tData) // 3 COMM STATUS + , GetStatusString(tData.StatusData.status) // 4 STATUS + , GetAlarmString(tData.StatusData.batteryStatus) // 5 ALARM + , String.Format("{0:#0.0}", Convert.ToDouble(tData.ValueData.TotalVoltage) / 10) // 6 voltageOfPack + , String.Format("{0:#0.0}", Convert.ToDouble(tData.ValueData.TotalCurrent) / 10) // 7 current + , String.Format("{0:#0.0}", Convert.ToDouble(tData.ValueData.TotalSOC) / 10) // 8 SOC + , String.Format("{0:#0.0}", Convert.ToDouble(tData.ValueData.TotalTemp) / 10) // 9 Max Temperature + ); + sdata += "\r\n"; + + Byte[] info = + new UTF8Encoding(true).GetBytes(sdata); + + return info; + } + + private static byte[] WriteData(DateTime aLog, CommConfig sConfig, CsDeviceData.DeviceModuleData mData) + { + string tt; + string sdata; + + tt = string.Format("{0:yyyy-MM-dd HH:mm:ss}", aLog); + sdata = String.Format( + "{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12}," + , tt // 0 DATETIME + , GetInterface(sConfig.CommType) // 1 INTERFACE + , mData.Information.ModelName // 2 MODEL + , mData.Information.SwProductRev // 3 FW Ver + , mData.Information.HwSerialNumber // 4 SN + , GetCommStatus(sConfig, mData) // 5 COMM STATUS + , GetStatusString(mData.StatusData.status) // 6 STATUS + , GetAlarmString(mData.StatusData.batteryStatus) // 7 ALARM + , String.Format("{0:#0.0}", Convert.ToDouble(mData.ValueData.voltage) / 10) // 8 voltageOfPack + , String.Format("{0:#0.0}", Convert.ToDouble(mData.ValueData.current) / 10) // 9 current + , String.Format("{0:#0.0}", Convert.ToDouble(mData.ValueData.SOC) / 10) // 10 SOC + , String.Format("{0:#0.0}", Convert.ToDouble(mData.ValueData.SOH) / 10) // 11 SOH + , String.Format("{0}", Convert.ToDouble(mData.ValueData.cycleCount) / 1) // 12 Cycle Count + ); + + sdata += String.Format("{0:#0.000},", Convert.ToDouble(mData.AvgData.diffCellVoltage) / 1000); // 13 Cell Voltage Diff + for (int i = 0; i < mData.cellQty; i++) + { + sdata += String.Format("{0:#0.000},", Convert.ToDouble(mData.ValueData.CellVoltage[i]) / 1000); // 14 - 28 Cell Voltage n + } + + sdata += String.Format("{0:#0.0},", Convert.ToDouble(mData.AvgData.diffTemp) / 10); // 29 Temperature Diff + for (int i = 0; i < mData.tempQty; i++) + { + sdata += String.Format("{0:#0.0},", Convert.ToDouble(mData.ValueData.CellTemperature[i]) / 10); // 30 - 33 Cell Temperature n + } + + sdata += String.Format("{0:#0.0},", Convert.ToDouble(mData.ValueData.MosTemperature) / 10); // 34 Ext1 Temperature n + sdata += String.Format("{0:#0.0},", Convert.ToDouble(mData.ValueData.AmbTemperature) / 10); // 35 Ext2 Temperature n + + sdata += String.Format( + "{0},{1},{2}," + , String.Format("0x{0}", mData.StatusData.warning.ToString("X4")) // 0 Warning + , String.Format("0x{0}", mData.StatusData.protect.ToString("X4")) // 1 Protection + , String.Format("0x{0}", mData.StatusData.cellBallanceStatus.ToString("X4")) // 2 cellBallanceStatus + ); + sdata += "\r\n"; + + Byte[] info = + new UTF8Encoding(true).GetBytes(sdata); + + return info; + } + #endregion + + #region DATA PRINT + + public static string data_print(byte[] data, int len) + { + byte[] ASC; + int i, j; + string result = ""; + + ASC = new byte[20]; + + if (len > 2) + { + if (ASC != null) + { + for (i = 0; i < (len / 16 + 1); i++) + { + result += String.Format("0x{0:X8} ", (int)(i * 16)); + for (j = 0; j < 16; j++) + { + if ((i * 16 + j) >= data.Length) + { + result += " "; + ASC[j] = (byte)' '; + } + else + { + result += String.Format("{0:X2} ", data[(i * 16) + j]); + if (data[i * 16 + j] < ' ') + ASC[j] = (byte)'.'; + else + { + if ((j == 15) && (data[i * 16 + j] > 128)) + ASC[j] = (byte)'.'; + else + ASC[j] = data[i * 16 + j]; + } + } + } + ASC[16] = 0x00; + result += "\r\n"; + //result += String.Format(" {0}\r\n", ASC.ToArray().ToString()); + } + } + result += "\r\n"; + //result += String.Format("ID: {0:X2}\r\n", data[6]); + //result += String.Format("CMD: {0:X2}\r\n", data[7]); + //result += String.Format("S-A: {0:X4}({0:d})\r\n", (data[8] << 8) | data[9]); + //result += String.Format("S-L: {0:X4}({0:d})\r\n", (data[10] << 8) | data[11]); + } + + return result; + } + public static string trx_data_print(byte[] data, int len, int flag) + { + int i, j; + string result = ""; + + if (len > 2) + { + for (i = 0; i < (len / 16 + 1); i++) + { + if (flag == 0) + { result += string.Format("[{0:yyyy-MM-dd HH:mm:ss.fff}] TX({1:0000}): ", DateTime.Now, len); } + else + { result += string.Format("[{0:yyyy-MM-dd HH:mm:ss.fff}] RX({1:0000}): ", DateTime.Now, len); } + + for (j = 0; j < 16; j++) + { + if ((i * 16 + j) >= len) + { + result += " "; + } + else + { + result += string.Format("{0:X2} ", data[(i * 16) + j]); + } + } + result += "\r\n"; + } + } + return result; + } + public static string trx_msg_print(string msg, int flag) + { + string result = ""; + + if (flag == 0) + { + result += string.Format("[{0:yyyy-MM-dd HH:mm:ss.fff}] TX({1}) ", DateTime.Now, msg); + } + else + { + result += string.Format("[{0:yyyy-MM-dd HH:mm:ss.fff}] RX({1}) ", DateTime.Now, msg); + } + return result; + } + + #endregion + + #region DB ERROR LOG + public static void SystemDbErrorLog(CommConfig sConfig, string sEvent, DateTime aTime, string AppPath) + { + SYSTEMLOG_FILE_DIR = string.Format(@"{0}\SystemErr\{1}", @"\log\systemlog", string.Format("{0:yyyyMM}", aTime)); + string path = Path.GetDirectoryName(AppPath); + string FileName = string.Format(path + SYSTEMLOG_FILE_DIR + @"\SYS_ERROR_LOG_{0}.txt", string.Format("{0:yyMMdd}", aTime)); + byte[] logData; + + if (Directory.Exists(path + SYSTEMLOG_FILE_DIR) == false) + { + Directory.CreateDirectory(path + SYSTEMLOG_FILE_DIR); + } + + FileStream logFile; + if (File.Exists(FileName) == false) + { + logFile = new FileStream(FileName, FileMode.CreateNew, FileAccess.ReadWrite); + logFile.Close(); + } + + logFile = new FileStream(FileName, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); + + if (logFile != null) + { + logFile.Seek(0, SeekOrigin.End); + logData = WriteDbEventData(aTime, sEvent); + logFile.Write(logData, 0, logData.Length); + logFile.Close(); + } + } + private static byte[] WriteDbEventData(DateTime aLog, String sEvent) + { + string tt; + string sdata; + + tt = aLog.ToString("yyyy-MM-dd HH:mm:ss"); + sdata = String.Format( + "{0} {1}\r\n" + , tt // 0 DATETIME + , sEvent // 1 Event Log Data + ); + + byte[] info = new UTF8Encoding(true).GetBytes(sdata); + + return info; + } + #endregion + + } +} diff --git a/LFP_Manager/Utils/csUtils.cs b/LFP_Manager/Utils/csUtils.cs new file mode 100644 index 0000000..eb75b24 --- /dev/null +++ b/LFP_Manager/Utils/csUtils.cs @@ -0,0 +1,301 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +using LFP_Manager.DataStructure; + +namespace LFP_Manager.Utils +{ + static class csUtils + { + public static readonly byte[] auchCRCHi = { + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, + 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, + 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, + 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, + 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, + 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, + 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, + 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, + 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, + 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, + 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, + 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, + 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, + 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, + 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,0x40 + }; + + public static readonly byte[] auchCRCLo = { + 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4, + 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, + 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, + 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, + 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7, + 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, + 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, + 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, + 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2, + 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, + 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, + 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, + 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91, + 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, + 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, + 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, + 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80,0x40 + }; + + #region CRC Calculation + /// + /// Modbus CRC-16 계산 + /// + public static byte[] CalculateCRC(byte[] data, int length) + { + if (data == null || length <= 0 || length > data.Length) + throw new ArgumentException("Invalid data or length"); + + ushort crc = 0xFFFF; + + for (int i = 0; i < length; i++) + { + crc ^= data[i]; + for (int j = 0; j < 8; j++) + { + if ((crc & 1) == 1) + crc = (ushort)((crc >> 1) ^ 0xA001); + else + crc >>= 1; + } + } + + return new byte[] { (byte)(crc & 0xFF), (byte)(crc >> 8) }; + } + #endregion + + public static int GetModuleQty(CommConfig aConfig) + { + int mQty = 0; + + switch (aConfig.CommType) + { + case csConstData.CommType.COMM_UART: + mQty = 1; + break; + case csConstData.CommType.COMM_RS485: + mQty = aConfig.ModuleQty; + break; + case csConstData.CommType.COMM_SNMP: + mQty = 1; + break; + default: + mQty = 0; + break; + } + return mQty; + } + + public static void TypingOnlyNumber(object sender, KeyPressEventArgs e, bool includePoint, bool includeMinus) + { + bool isValidInput = false; + if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar)) + { + if (includePoint == true) { if (e.KeyChar == '.') isValidInput = true; } + if (includeMinus == true) { if (e.KeyChar == '-') isValidInput = true; } + + if (isValidInput == false) e.Handled = true; + } + + if (includePoint == true) + { + if (e.KeyChar == '.' && (string.IsNullOrEmpty((sender as DevExpress.XtraEditors.TextEdit).Text.Trim()) || (sender as DevExpress.XtraEditors.TextEdit).Text.IndexOf('.') > -1)) e.Handled = true; + } + if (includeMinus == true) + { + if (e.KeyChar == '-' && (!string.IsNullOrEmpty((sender as DevExpress.XtraEditors.TextEdit).Text.Trim()) || (sender as DevExpress.XtraEditors.TextEdit).Text.IndexOf('-') > -1)) e.Handled = true; + } + } + + public static bool[] Int16ToBitArray(Int16 data) + { + bool[] result = new bool[16]; + + for (int i = 0; i < 16; i++) + { + result[i] = (((data >> i) & 0x0001) == 0x0001) ? true : false; + } + + return result; + } + + public static bool[] UInt16ToBitArray(UInt16 data) + { + bool[] result = new bool[16]; + + for (int i = 0; i < 16; i++) + { + result[i] = (((data >> i) & 0x0001) == 0x0001) ? true : false; + } + + return result; + } + + public static byte[] GetCRC(byte[] pby, UInt16 nSize) + { + byte[] result = new byte[2]; + UInt16 uIndex, i; + UInt16 crc; + byte uchCRCHi = 0xff; + byte uchCRCLo = 0xff; + + for (i = 0; i < nSize; i++) + { + uIndex = (UInt16)(uchCRCHi ^ pby[i]); + uchCRCHi = (byte)(uchCRCLo ^ csConstData.CRC_Data.auchCRCHi[uIndex]); + uchCRCLo = csConstData.CRC_Data.auchCRCLo[uIndex]; + } + crc = (UInt16)(((UInt16)uchCRCHi << 8) | uchCRCLo); + + result[1] = (byte)(crc / 256); + result[0] = (byte)(crc % 256); + + return result; + } + + public static byte StrByte2toByte(byte a, byte b) + { + byte result = 0; + byte a1 = 0, b1 = 0; + + if ((a >= (byte)'0')&&(a <= (byte)'9')) + { + a1 = (byte)(a - (byte)'0'); + } + else if ((a >= (byte)'a')&&(a <= (byte)'f')) + { + a1 = (byte)(a - (byte)'a'); + } + else if ((a >= (byte)'A')&&(a <= (byte)'F')) + { + a1 = (byte)((a - (byte)'A') + 0x0A); + } + + if ((b >= (byte)'0') && (b <= (byte)'9')) + { + b1 = (byte)(b - (byte)'0'); + } + else if ((b >= (byte)'a') && (b <= (byte)'f')) + { + b1 = (byte)(b - (byte)'a'); + } + else if ((b >= (byte)'A') && (b <= (byte)'F')) + { + b1 = (byte)((b - (byte)'A') + 0x0A); + } + + result = (byte)((b1 << 4) | a1); + + return result; + } + + public static byte[] StrToByteArray(byte[] rData, int offset, int rlen) + { + int len = (rlen - 2) / 2; + byte[] result = new byte[len]; + + for (int i = 0; i < len; i++) + { + result[i] = StrByte2toByte(rData[(i * 2) + offset + 2], rData[(i * 2) + offset + 1]); + } + + return result; + } + + public static byte[] StringToByte(string str) + { + byte[] StrByte = Encoding.UTF8.GetBytes(str); return StrByte; + } + + #region OPERATING WARNING FUCTION + + public static bool BitCheck(short rData, int pos) + { + if (((rData >> pos) & 0x0001) == 0x0001) + return true; + else + return false; + } + + #endregion + + #region TIMESTAMP FUNCTION + public static UInt32 CalcKKTimeStamp(DateTime tDate) + { + //Time of test and calibration. Local time in seconds since 2000. + //Ex: + //Epoch time offset (1 January 2000 00:00:00) = 946684800 + //Current epoch time (1 October 2019 12:00:00) = 1569931200 + //Timestamp = 1569931200 - 946684800 = 623246400 + //(Used 'https://www.epochconverter.com/' for conversion) + DateTime baseDate = new DateTime(2000, 1, 1, 0, 0, 0); + + int bDate = ConvertToUnixTimestamp(baseDate); + int nDate = ConvertToUnixTimestamp(tDate); + + return (UInt32)(nDate - bDate); + } + + public static DateTime ConvertTimeStampToDateTime(UInt32 tStamp) + { + DateTime result = new DateTime(2000, 1, 1, 0, 0, 0, DateTimeKind.Utc); + + result = result.AddSeconds(tStamp); + + // DateTimeOffset.Now.ToUnixTimeSeconds() // (.NET Framework 4.6 +/.NET Core), + // older versions: + //var epoch = (DateTime.UtcNow - new DateTime(2000, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds; + + return result; + } + + public static int ConvertToUnixTimestamp(DateTime date) + { + DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0); + TimeSpan diff = date - origin; + return (int)Math.Floor(diff.TotalSeconds); + } + #endregion + + #region DateTime Format Methods + /// + /// DateTime을 기본 형식으로 변환합니다. (yyyy-MM-dd HH:mm:ss) + /// + public static string FormatDateTime(DateTime dateTime) + { + return dateTime.ToString("yyyy-MM-dd HH:mm:ss"); + } + #endregion + + #region HELPERS + public static class MathEx + { + public static int Clamp(int value, int min, int max) + { + if (min > max) { var t = min; min = max; max = t; } // 방어적 + if (value < min) return min; + if (value > max) return max; + return value; + } + } + #endregion + + #region COMBINE HELPER + public static string CombineSafe(string dir, string file) => Path.Combine(dir ?? "", (file ?? "").TrimStart('\\', '/')); + #endregion + } +} diff --git a/LFP_Manager/app.config b/LFP_Manager/app.config new file mode 100644 index 0000000..5edc23b --- /dev/null +++ b/LFP_Manager/app.config @@ -0,0 +1,47 @@ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/LFP_Manager/dll/ControlCAN.dll b/LFP_Manager/dll/ControlCAN.dll new file mode 100644 index 0000000..5df15bc Binary files /dev/null and b/LFP_Manager/dll/ControlCAN.dll differ diff --git a/LFP_Manager/dll/IPAddressControlLib.dll b/LFP_Manager/dll/IPAddressControlLib.dll new file mode 100644 index 0000000..642eb20 Binary files /dev/null and b/LFP_Manager/dll/IPAddressControlLib.dll differ diff --git a/LFP_Manager/dll/SnmpSharpNet.dll b/LFP_Manager/dll/SnmpSharpNet.dll new file mode 100644 index 0000000..a6104ee Binary files /dev/null and b/LFP_Manager/dll/SnmpSharpNet.dll differ diff --git a/LFP_Manager/dll/Tftp.Net.dll b/LFP_Manager/dll/Tftp.Net.dll new file mode 100644 index 0000000..c1bcfed Binary files /dev/null and b/LFP_Manager/dll/Tftp.Net.dll differ diff --git a/LFP_Manager/dll/kerneldlls/CAN232.dll b/LFP_Manager/dll/kerneldlls/CAN232.dll new file mode 100644 index 0000000..f0f4fb6 Binary files /dev/null and b/LFP_Manager/dll/kerneldlls/CAN232.dll differ diff --git a/LFP_Manager/dll/kerneldlls/CANETE.dll b/LFP_Manager/dll/kerneldlls/CANETE.dll new file mode 100644 index 0000000..2c1b041 Binary files /dev/null and b/LFP_Manager/dll/kerneldlls/CANETE.dll differ diff --git a/LFP_Manager/dll/kerneldlls/CANET_TCP.dll b/LFP_Manager/dll/kerneldlls/CANET_TCP.dll new file mode 100644 index 0000000..060ac4a Binary files /dev/null and b/LFP_Manager/dll/kerneldlls/CANET_TCP.dll differ diff --git a/LFP_Manager/dll/kerneldlls/CANWIFI_TCP.dll b/LFP_Manager/dll/kerneldlls/CANWIFI_TCP.dll new file mode 100644 index 0000000..a1f566b Binary files /dev/null and b/LFP_Manager/dll/kerneldlls/CANWIFI_TCP.dll differ diff --git a/LFP_Manager/dll/kerneldlls/CANWIFI_UDP.dll b/LFP_Manager/dll/kerneldlls/CANWIFI_UDP.dll new file mode 100644 index 0000000..e715e5f Binary files /dev/null and b/LFP_Manager/dll/kerneldlls/CANWIFI_UDP.dll differ diff --git a/LFP_Manager/dll/kerneldlls/PC104C2.dll b/LFP_Manager/dll/kerneldlls/PC104C2.dll new file mode 100644 index 0000000..ca44ce8 Binary files /dev/null and b/LFP_Manager/dll/kerneldlls/PC104C2.dll differ diff --git a/LFP_Manager/dll/kerneldlls/PC104CAN.dll b/LFP_Manager/dll/kerneldlls/PC104CAN.dll new file mode 100644 index 0000000..e0ed7c5 Binary files /dev/null and b/LFP_Manager/dll/kerneldlls/PC104CAN.dll differ diff --git a/LFP_Manager/dll/kerneldlls/PCI5121.dll b/LFP_Manager/dll/kerneldlls/PCI5121.dll new file mode 100644 index 0000000..231017c Binary files /dev/null and b/LFP_Manager/dll/kerneldlls/PCI5121.dll differ diff --git a/LFP_Manager/dll/kerneldlls/PCI9820B.DLL b/LFP_Manager/dll/kerneldlls/PCI9820B.DLL new file mode 100644 index 0000000..784296e Binary files /dev/null and b/LFP_Manager/dll/kerneldlls/PCI9820B.DLL differ diff --git a/LFP_Manager/dll/kerneldlls/gisadll.dll b/LFP_Manager/dll/kerneldlls/gisadll.dll new file mode 100644 index 0000000..e657290 Binary files /dev/null and b/LFP_Manager/dll/kerneldlls/gisadll.dll differ diff --git a/LFP_Manager/dll/kerneldlls/gpcidll.dll b/LFP_Manager/dll/kerneldlls/gpcidll.dll new file mode 100644 index 0000000..1d3ae86 Binary files /dev/null and b/LFP_Manager/dll/kerneldlls/gpcidll.dll differ diff --git a/LFP_Manager/dll/kerneldlls/isa5420.dll b/LFP_Manager/dll/kerneldlls/isa5420.dll new file mode 100644 index 0000000..bace86a Binary files /dev/null and b/LFP_Manager/dll/kerneldlls/isa5420.dll differ diff --git a/LFP_Manager/dll/kerneldlls/kerneldll.ini b/LFP_Manager/dll/kerneldlls/kerneldll.ini new file mode 100644 index 0000000..3899f0e --- /dev/null +++ b/LFP_Manager/dll/kerneldlls/kerneldll.ini @@ -0,0 +1,31 @@ +[KERNELDLL] +COUNT=29 +1=PCI51XXE.dll +2=PCI9810B.dll +3=USBCAN.dll +4=USBCAN.dll +5=PCI9820B.dll +6=CAN232.dll +7=PCI51XXE.dll +8=CANLite.dll +9=ISA9620B.dll +10=ISA5420.dll +11=PC104CAN.dll +12=CANETE.dll +13=DNP9810B.dll +14=PCI9840B.dll +15=PC104C2.dll +16=PCI9820I.dll +17=CANET_TCP.dll +18=pec9920.dll +19=pci50xx_u.dll +20=USBCAN_E.dll +21=USBCAN_E.dll +22=pci50xx_u.dll +23=topcliff_can.dll +24=pcie9221.dll +25=CANWIFI_TCP.dll +26=CANWIFI_UDP.dll +27=pcie9120.dll +28=pcie9110.dll +29=pcie9140.dll diff --git a/LFP_Manager/dll/kerneldlls/usbcan.dll b/LFP_Manager/dll/kerneldlls/usbcan.dll new file mode 100644 index 0000000..838e490 Binary files /dev/null and b/LFP_Manager/dll/kerneldlls/usbcan.dll differ diff --git a/LFP_Manager/dll/log4net.dll b/LFP_Manager/dll/log4net.dll new file mode 100644 index 0000000..ffc57e1 Binary files /dev/null and b/LFP_Manager/dll/log4net.dll differ diff --git a/LFP_Manager/fmMain.Designer.cs b/LFP_Manager/fmMain.Designer.cs new file mode 100644 index 0000000..3be09af --- /dev/null +++ b/LFP_Manager/fmMain.Designer.cs @@ -0,0 +1,971 @@ +namespace LFP_Manager +{ + partial class fmMain + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fmMain)); + this.tmrDisplay = new System.Windows.Forms.Timer(this.components); + this.lcMain = new DevExpress.XtraLayout.LayoutControl(); + this.gbDataLog = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl6 = new DevExpress.XtraLayout.LayoutControl(); + this.btnOpenLogFolder = new DevExpress.XtraEditors.SimpleButton(); + this.btnLogStart = new DevExpress.XtraEditors.SimpleButton(); + this.cbLogTime = new DevExpress.XtraEditors.ComboBoxEdit(); + this.layoutControlGroup6 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.lcitemLogTime = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem13 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem12 = new DevExpress.XtraLayout.LayoutControlItem(); + this.tabSystemStatus = new DevExpress.XtraTab.XtraTabControl(); + this.pgSystem1 = new DevExpress.XtraTab.XtraTabPage(); + this.layoutControl4 = new DevExpress.XtraLayout.LayoutControl(); + this.ucShelfA = new LFP_Manager.Controls.ucShelfStatus(); + this.layoutControlGroup4 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem7 = new DevExpress.XtraLayout.LayoutControlItem(); + this.pgSystem2 = new DevExpress.XtraTab.XtraTabPage(); + this.layoutControl3 = new DevExpress.XtraLayout.LayoutControl(); + this.ucShelfB = new LFP_Manager.Controls.ucShelfStatus(); + this.layoutControlGroup3 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem9 = new DevExpress.XtraLayout.LayoutControlItem(); + this.pgSystem3 = new DevExpress.XtraTab.XtraTabPage(); + this.layoutControl5 = new DevExpress.XtraLayout.LayoutControl(); + this.ucShelfC = new LFP_Manager.Controls.ucShelfStatus(); + this.layoutControlGroup5 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem10 = new DevExpress.XtraLayout.LayoutControlItem(); + this.gcLogging = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl2 = new DevExpress.XtraLayout.LayoutControl(); + this.btnLogClear = new DevExpress.XtraEditors.SimpleButton(); + this.tabDataLog = new DevExpress.XtraTab.XtraTabControl(); + this.tpDataLog = new DevExpress.XtraTab.XtraTabPage(); + this.panelControl1 = new DevExpress.XtraEditors.PanelControl(); + this.meDataLog = new DevExpress.XtraEditors.MemoEdit(); + this.layoutControlGroup2 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem6 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem14 = new DevExpress.XtraLayout.LayoutControlItem(); + this.gcTargetConfig = new DevExpress.XtraEditors.GroupControl(); + this.layoutControl1 = new DevExpress.XtraLayout.LayoutControl(); + this.cbType = new DevExpress.XtraEditors.ComboBoxEdit(); + this.btnStart = new DevExpress.XtraEditors.SimpleButton(); + this.teTargetIP = new IPAddressControlLib.IPAddressControl(); + this.lbTargetIP = new DevExpress.XtraEditors.LabelControl(); + this.layoutControlGroup1 = new DevExpress.XtraLayout.LayoutControlGroup(); + this.emptySpaceItem2 = new DevExpress.XtraLayout.EmptySpaceItem(); + this.layoutControlItem2 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem3 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem4 = new DevExpress.XtraLayout.LayoutControlItem(); + this.lcitemType = new DevExpress.XtraLayout.LayoutControlItem(); + this.lcgMain = new DevExpress.XtraLayout.LayoutControlGroup(); + this.layoutControlItem1 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem5 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem8 = new DevExpress.XtraLayout.LayoutControlItem(); + this.layoutControlItem11 = new DevExpress.XtraLayout.LayoutControlItem(); + this.tmrLogging = new System.Windows.Forms.Timer(this.components); + this.menuStrip1 = new System.Windows.Forms.MenuStrip(); + this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.serialPort1 = new System.IO.Ports.SerialPort(this.components); + ((System.ComponentModel.ISupportInitialize)(this.lcMain)).BeginInit(); + this.lcMain.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.gbDataLog)).BeginInit(); + this.gbDataLog.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl6)).BeginInit(); + this.layoutControl6.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.cbLogTime.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemLogTime)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.tabSystemStatus)).BeginInit(); + this.tabSystemStatus.SuspendLayout(); + this.pgSystem1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl4)).BeginInit(); + this.layoutControl4.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).BeginInit(); + this.pgSystem2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).BeginInit(); + this.layoutControl3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).BeginInit(); + this.pgSystem3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl5)).BeginInit(); + this.layoutControl5.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gcLogging)).BeginInit(); + this.gcLogging.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).BeginInit(); + this.layoutControl2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.tabDataLog)).BeginInit(); + this.tabDataLog.SuspendLayout(); + this.tpDataLog.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.panelControl1)).BeginInit(); + this.panelControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.meDataLog.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.gcTargetConfig)).BeginInit(); + this.gcTargetConfig.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).BeginInit(); + this.layoutControl1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.cbType.Properties)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemType)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcgMain)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).BeginInit(); + this.menuStrip1.SuspendLayout(); + this.SuspendLayout(); + // + // tmrDisplay + // + this.tmrDisplay.Interval = 50; + this.tmrDisplay.Tick += new System.EventHandler(this.tmrDisplay_Tick); + // + // lcMain + // + this.lcMain.Controls.Add(this.gbDataLog); + this.lcMain.Controls.Add(this.tabSystemStatus); + this.lcMain.Controls.Add(this.gcLogging); + this.lcMain.Controls.Add(this.gcTargetConfig); + this.lcMain.Dock = System.Windows.Forms.DockStyle.Fill; + this.lcMain.Location = new System.Drawing.Point(0, 0); + this.lcMain.Name = "lcMain"; + this.lcMain.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(901, 311, 250, 350); + this.lcMain.Root = this.lcgMain; + this.lcMain.Size = new System.Drawing.Size(913, 729); + this.lcMain.TabIndex = 0; + this.lcMain.Text = "layoutControl1"; + // + // gbDataLog + // + this.gbDataLog.Controls.Add(this.layoutControl6); + this.gbDataLog.Location = new System.Drawing.Point(711, 580); + this.gbDataLog.Name = "gbDataLog"; + this.gbDataLog.Size = new System.Drawing.Size(199, 146); + this.gbDataLog.TabIndex = 8; + this.gbDataLog.Text = "Data Logging"; + // + // layoutControl6 + // + this.layoutControl6.Controls.Add(this.btnOpenLogFolder); + this.layoutControl6.Controls.Add(this.btnLogStart); + this.layoutControl6.Controls.Add(this.cbLogTime); + this.layoutControl6.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl6.Location = new System.Drawing.Point(2, 22); + this.layoutControl6.Name = "layoutControl6"; + this.layoutControl6.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1209, 389, 250, 350); + this.layoutControl6.Root = this.layoutControlGroup6; + this.layoutControl6.Size = new System.Drawing.Size(195, 122); + this.layoutControl6.TabIndex = 0; + this.layoutControl6.Text = "layoutControl6"; + // + // btnOpenLogFolder + // + this.btnOpenLogFolder.Location = new System.Drawing.Point(3, 77); + this.btnOpenLogFolder.Name = "btnOpenLogFolder"; + this.btnOpenLogFolder.Size = new System.Drawing.Size(189, 42); + this.btnOpenLogFolder.StyleController = this.layoutControl6; + this.btnOpenLogFolder.TabIndex = 6; + this.btnOpenLogFolder.Text = "Open Log Folder"; + this.btnOpenLogFolder.Click += new System.EventHandler(this.btnOpenLogFolder_Click); + // + // btnLogStart + // + this.btnLogStart.Location = new System.Drawing.Point(3, 27); + this.btnLogStart.Name = "btnLogStart"; + this.btnLogStart.Size = new System.Drawing.Size(189, 46); + this.btnLogStart.StyleController = this.layoutControl6; + this.btnLogStart.TabIndex = 5; + this.btnLogStart.Text = "Log Start"; + this.btnLogStart.Click += new System.EventHandler(this.btnLogStart_Click); + // + // cbLogTime + // + this.cbLogTime.EditValue = "5"; + this.cbLogTime.Location = new System.Drawing.Point(68, 3); + this.cbLogTime.Name = "cbLogTime"; + this.cbLogTime.Properties.Appearance.Options.UseTextOptions = true; + this.cbLogTime.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far; + this.cbLogTime.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { + new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}); + this.cbLogTime.Properties.Items.AddRange(new object[] { + "1", + "5", + "10", + "15", + "30", + "60"}); + this.cbLogTime.Size = new System.Drawing.Size(124, 20); + this.cbLogTime.StyleController = this.layoutControl6; + this.cbLogTime.TabIndex = 4; + // + // layoutControlGroup6 + // + this.layoutControlGroup6.CustomizationFormText = "layoutControlGroup6"; + this.layoutControlGroup6.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup6.GroupBordersVisible = false; + this.layoutControlGroup6.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.lcitemLogTime, + this.layoutControlItem13, + this.layoutControlItem12}); + this.layoutControlGroup6.Location = new System.Drawing.Point(0, 0); + this.layoutControlGroup6.Name = "layoutControlGroup6"; + this.layoutControlGroup6.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup6.Size = new System.Drawing.Size(195, 122); + this.layoutControlGroup6.Text = "layoutControlGroup6"; + this.layoutControlGroup6.TextVisible = false; + // + // lcitemLogTime + // + this.lcitemLogTime.AppearanceItemCaption.Options.UseTextOptions = true; + this.lcitemLogTime.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.lcitemLogTime.Control = this.cbLogTime; + this.lcitemLogTime.CustomizationFormText = "Log Time"; + this.lcitemLogTime.Location = new System.Drawing.Point(0, 0); + this.lcitemLogTime.MinSize = new System.Drawing.Size(119, 24); + this.lcitemLogTime.Name = "lcitemLogTime"; + this.lcitemLogTime.Size = new System.Drawing.Size(193, 24); + this.lcitemLogTime.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcitemLogTime.Text = "Log Time"; + this.lcitemLogTime.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.lcitemLogTime.TextSize = new System.Drawing.Size(60, 20); + this.lcitemLogTime.TextToControlDistance = 5; + // + // layoutControlItem13 + // + this.layoutControlItem13.Control = this.btnLogStart; + this.layoutControlItem13.CustomizationFormText = "layoutControlItem13"; + this.layoutControlItem13.Location = new System.Drawing.Point(0, 24); + this.layoutControlItem13.MinSize = new System.Drawing.Size(93, 26); + this.layoutControlItem13.Name = "layoutControlItem13"; + this.layoutControlItem13.Size = new System.Drawing.Size(193, 50); + this.layoutControlItem13.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem13.Text = "layoutControlItem13"; + this.layoutControlItem13.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem13.TextToControlDistance = 0; + this.layoutControlItem13.TextVisible = false; + // + // layoutControlItem12 + // + this.layoutControlItem12.Control = this.btnOpenLogFolder; + this.layoutControlItem12.CustomizationFormText = "layoutControlItem12"; + this.layoutControlItem12.Location = new System.Drawing.Point(0, 74); + this.layoutControlItem12.MinSize = new System.Drawing.Size(93, 26); + this.layoutControlItem12.Name = "layoutControlItem12"; + this.layoutControlItem12.Size = new System.Drawing.Size(193, 46); + this.layoutControlItem12.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem12.Text = "layoutControlItem12"; + this.layoutControlItem12.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem12.TextToControlDistance = 0; + this.layoutControlItem12.TextVisible = false; + // + // tabSystemStatus + // + this.tabSystemStatus.Location = new System.Drawing.Point(3, 65); + this.tabSystemStatus.Name = "tabSystemStatus"; + this.tabSystemStatus.SelectedTabPage = this.pgSystem1; + this.tabSystemStatus.Size = new System.Drawing.Size(907, 511); + this.tabSystemStatus.TabIndex = 7; + this.tabSystemStatus.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] { + this.pgSystem1, + this.pgSystem2, + this.pgSystem3}); + // + // pgSystem1 + // + this.pgSystem1.Controls.Add(this.layoutControl4); + this.pgSystem1.Name = "pgSystem1"; + this.pgSystem1.Size = new System.Drawing.Size(901, 482); + this.pgSystem1.Text = "SYSTEM #A"; + // + // layoutControl4 + // + this.layoutControl4.Controls.Add(this.ucShelfA); + this.layoutControl4.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl4.Location = new System.Drawing.Point(0, 0); + this.layoutControl4.Name = "layoutControl4"; + this.layoutControl4.Root = this.layoutControlGroup4; + this.layoutControl4.Size = new System.Drawing.Size(901, 482); + this.layoutControl4.TabIndex = 0; + this.layoutControl4.Text = "layoutControl4"; + // + // ucShelfA + // + this.ucShelfA.Location = new System.Drawing.Point(3, 3); + this.ucShelfA.Name = "ucShelfA"; + this.ucShelfA.Size = new System.Drawing.Size(895, 476); + this.ucShelfA.TabIndex = 4; + // + // layoutControlGroup4 + // + this.layoutControlGroup4.CustomizationFormText = "layoutControlGroup4"; + this.layoutControlGroup4.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup4.GroupBordersVisible = false; + this.layoutControlGroup4.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem7}); + this.layoutControlGroup4.Location = new System.Drawing.Point(0, 0); + this.layoutControlGroup4.Name = "layoutControlGroup4"; + this.layoutControlGroup4.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup4.Size = new System.Drawing.Size(901, 482); + this.layoutControlGroup4.Text = "layoutControlGroup4"; + this.layoutControlGroup4.TextVisible = false; + // + // layoutControlItem7 + // + this.layoutControlItem7.Control = this.ucShelfA; + this.layoutControlItem7.CustomizationFormText = "layoutControlItem7"; + this.layoutControlItem7.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem7.Name = "layoutControlItem7"; + this.layoutControlItem7.Size = new System.Drawing.Size(899, 480); + this.layoutControlItem7.Text = "layoutControlItem7"; + this.layoutControlItem7.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem7.TextToControlDistance = 0; + this.layoutControlItem7.TextVisible = false; + // + // pgSystem2 + // + this.pgSystem2.Controls.Add(this.layoutControl3); + this.pgSystem2.Name = "pgSystem2"; + this.pgSystem2.Size = new System.Drawing.Size(901, 482); + this.pgSystem2.Text = "SYSTEM #B"; + // + // layoutControl3 + // + this.layoutControl3.Controls.Add(this.ucShelfB); + this.layoutControl3.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl3.Location = new System.Drawing.Point(0, 0); + this.layoutControl3.Name = "layoutControl3"; + this.layoutControl3.Root = this.layoutControlGroup3; + this.layoutControl3.Size = new System.Drawing.Size(901, 482); + this.layoutControl3.TabIndex = 0; + this.layoutControl3.Text = "layoutControl3"; + // + // ucShelfB + // + this.ucShelfB.Location = new System.Drawing.Point(3, 3); + this.ucShelfB.Name = "ucShelfB"; + this.ucShelfB.Size = new System.Drawing.Size(895, 476); + this.ucShelfB.TabIndex = 4; + // + // layoutControlGroup3 + // + this.layoutControlGroup3.CustomizationFormText = "layoutControlGroup3"; + this.layoutControlGroup3.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup3.GroupBordersVisible = false; + this.layoutControlGroup3.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem9}); + this.layoutControlGroup3.Location = new System.Drawing.Point(0, 0); + this.layoutControlGroup3.Name = "layoutControlGroup3"; + this.layoutControlGroup3.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup3.Size = new System.Drawing.Size(901, 482); + this.layoutControlGroup3.Text = "layoutControlGroup3"; + this.layoutControlGroup3.TextVisible = false; + // + // layoutControlItem9 + // + this.layoutControlItem9.Control = this.ucShelfB; + this.layoutControlItem9.CustomizationFormText = "layoutControlItem9"; + this.layoutControlItem9.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem9.Name = "layoutControlItem9"; + this.layoutControlItem9.Size = new System.Drawing.Size(899, 480); + this.layoutControlItem9.Text = "layoutControlItem9"; + this.layoutControlItem9.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem9.TextToControlDistance = 0; + this.layoutControlItem9.TextVisible = false; + // + // pgSystem3 + // + this.pgSystem3.Controls.Add(this.layoutControl5); + this.pgSystem3.Name = "pgSystem3"; + this.pgSystem3.Size = new System.Drawing.Size(901, 482); + this.pgSystem3.Text = "SYSTEM #C"; + // + // layoutControl5 + // + this.layoutControl5.Controls.Add(this.ucShelfC); + this.layoutControl5.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl5.Location = new System.Drawing.Point(0, 0); + this.layoutControl5.Name = "layoutControl5"; + this.layoutControl5.Root = this.layoutControlGroup5; + this.layoutControl5.Size = new System.Drawing.Size(901, 482); + this.layoutControl5.TabIndex = 0; + this.layoutControl5.Text = "layoutControl5"; + // + // ucShelfC + // + this.ucShelfC.Location = new System.Drawing.Point(3, 3); + this.ucShelfC.Name = "ucShelfC"; + this.ucShelfC.Size = new System.Drawing.Size(895, 476); + this.ucShelfC.TabIndex = 4; + // + // layoutControlGroup5 + // + this.layoutControlGroup5.CustomizationFormText = "layoutControlGroup5"; + this.layoutControlGroup5.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup5.GroupBordersVisible = false; + this.layoutControlGroup5.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem10}); + this.layoutControlGroup5.Location = new System.Drawing.Point(0, 0); + this.layoutControlGroup5.Name = "layoutControlGroup5"; + this.layoutControlGroup5.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.layoutControlGroup5.Size = new System.Drawing.Size(901, 482); + this.layoutControlGroup5.Text = "layoutControlGroup5"; + this.layoutControlGroup5.TextVisible = false; + // + // layoutControlItem10 + // + this.layoutControlItem10.Control = this.ucShelfC; + this.layoutControlItem10.CustomizationFormText = "layoutControlItem10"; + this.layoutControlItem10.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem10.Name = "layoutControlItem10"; + this.layoutControlItem10.Size = new System.Drawing.Size(899, 480); + this.layoutControlItem10.Text = "layoutControlItem10"; + this.layoutControlItem10.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem10.TextToControlDistance = 0; + this.layoutControlItem10.TextVisible = false; + // + // gcLogging + // + this.gcLogging.Controls.Add(this.layoutControl2); + this.gcLogging.Location = new System.Drawing.Point(3, 580); + this.gcLogging.Name = "gcLogging"; + this.gcLogging.Size = new System.Drawing.Size(704, 146); + this.gcLogging.TabIndex = 5; + this.gcLogging.Text = "Event"; + // + // layoutControl2 + // + this.layoutControl2.Controls.Add(this.btnLogClear); + this.layoutControl2.Controls.Add(this.tabDataLog); + this.layoutControl2.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl2.Location = new System.Drawing.Point(2, 22); + this.layoutControl2.Name = "layoutControl2"; + this.layoutControl2.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(1234, 235, 250, 350); + this.layoutControl2.Root = this.layoutControlGroup2; + this.layoutControl2.Size = new System.Drawing.Size(700, 122); + this.layoutControl2.TabIndex = 0; + this.layoutControl2.Text = "layoutControl2"; + // + // btnLogClear + // + this.btnLogClear.Location = new System.Drawing.Point(640, 4); + this.btnLogClear.Name = "btnLogClear"; + this.btnLogClear.Size = new System.Drawing.Size(56, 114); + this.btnLogClear.StyleController = this.layoutControl2; + this.btnLogClear.TabIndex = 5; + this.btnLogClear.Text = "Clear"; + this.btnLogClear.Click += new System.EventHandler(this.btnLogClear_Click); + // + // tabDataLog + // + this.tabDataLog.Location = new System.Drawing.Point(4, 4); + this.tabDataLog.Name = "tabDataLog"; + this.tabDataLog.SelectedTabPage = this.tpDataLog; + this.tabDataLog.Size = new System.Drawing.Size(632, 114); + this.tabDataLog.TabIndex = 4; + this.tabDataLog.TabPages.AddRange(new DevExpress.XtraTab.XtraTabPage[] { + this.tpDataLog}); + // + // tpDataLog + // + this.tpDataLog.Controls.Add(this.panelControl1); + this.tpDataLog.Name = "tpDataLog"; + this.tpDataLog.Size = new System.Drawing.Size(626, 85); + this.tpDataLog.Text = "Data Log"; + // + // panelControl1 + // + this.panelControl1.Controls.Add(this.meDataLog); + this.panelControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.panelControl1.Location = new System.Drawing.Point(0, 0); + this.panelControl1.Name = "panelControl1"; + this.panelControl1.Size = new System.Drawing.Size(626, 85); + this.panelControl1.TabIndex = 0; + // + // meDataLog + // + this.meDataLog.Dock = System.Windows.Forms.DockStyle.Fill; + this.meDataLog.Location = new System.Drawing.Point(2, 2); + this.meDataLog.Name = "meDataLog"; + this.meDataLog.Size = new System.Drawing.Size(622, 81); + this.meDataLog.TabIndex = 0; + // + // layoutControlGroup2 + // + this.layoutControlGroup2.CustomizationFormText = "layoutControlGroup2"; + this.layoutControlGroup2.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup2.GroupBordersVisible = false; + this.layoutControlGroup2.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem6, + this.layoutControlItem14}); + this.layoutControlGroup2.Location = new System.Drawing.Point(0, 0); + this.layoutControlGroup2.Name = "layoutControlGroup2"; + this.layoutControlGroup2.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2); + this.layoutControlGroup2.Size = new System.Drawing.Size(700, 122); + this.layoutControlGroup2.Text = "layoutControlGroup2"; + this.layoutControlGroup2.TextVisible = false; + // + // layoutControlItem6 + // + this.layoutControlItem6.Control = this.tabDataLog; + this.layoutControlItem6.CustomizationFormText = "layoutControlItem6"; + this.layoutControlItem6.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem6.MinSize = new System.Drawing.Size(104, 24); + this.layoutControlItem6.Name = "layoutControlItem6"; + this.layoutControlItem6.Size = new System.Drawing.Size(636, 118); + this.layoutControlItem6.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem6.Text = "layoutControlItem6"; + this.layoutControlItem6.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem6.TextToControlDistance = 0; + this.layoutControlItem6.TextVisible = false; + // + // layoutControlItem14 + // + this.layoutControlItem14.Control = this.btnLogClear; + this.layoutControlItem14.CustomizationFormText = "layoutControlItem14"; + this.layoutControlItem14.Location = new System.Drawing.Point(636, 0); + this.layoutControlItem14.MinSize = new System.Drawing.Size(60, 26); + this.layoutControlItem14.Name = "layoutControlItem14"; + this.layoutControlItem14.Size = new System.Drawing.Size(60, 118); + this.layoutControlItem14.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem14.Text = "layoutControlItem14"; + this.layoutControlItem14.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem14.TextToControlDistance = 0; + this.layoutControlItem14.TextVisible = false; + // + // gcTargetConfig + // + this.gcTargetConfig.Controls.Add(this.layoutControl1); + this.gcTargetConfig.Location = new System.Drawing.Point(3, 3); + this.gcTargetConfig.Name = "gcTargetConfig"; + this.gcTargetConfig.Size = new System.Drawing.Size(907, 58); + this.gcTargetConfig.TabIndex = 4; + this.gcTargetConfig.Text = "Target Config"; + this.gcTargetConfig.Paint += new System.Windows.Forms.PaintEventHandler(this.gcTargetConfig_Paint); + // + // layoutControl1 + // + this.layoutControl1.Controls.Add(this.cbType); + this.layoutControl1.Controls.Add(this.btnStart); + this.layoutControl1.Controls.Add(this.teTargetIP); + this.layoutControl1.Controls.Add(this.lbTargetIP); + this.layoutControl1.Dock = System.Windows.Forms.DockStyle.Fill; + this.layoutControl1.Location = new System.Drawing.Point(2, 22); + this.layoutControl1.Name = "layoutControl1"; + this.layoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = new System.Drawing.Rectangle(318, 219, 250, 350); + this.layoutControl1.Root = this.layoutControlGroup1; + this.layoutControl1.Size = new System.Drawing.Size(903, 34); + this.layoutControl1.TabIndex = 0; + this.layoutControl1.Text = "layoutControl1"; + // + // cbType + // + this.cbType.Location = new System.Drawing.Point(399, 4); + this.cbType.Name = "cbType"; + this.cbType.Properties.Appearance.Font = new System.Drawing.Font("Tahoma", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.cbType.Properties.Appearance.Options.UseFont = true; + this.cbType.Properties.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { + new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo)}); + this.cbType.Properties.Items.AddRange(new object[] { + "LFPS-48100", + "LFPR-48300", + "LFPR-48600", + "LFPR-48900", + "LFPS-48150"}); + this.cbType.Size = new System.Drawing.Size(178, 26); + this.cbType.StyleController = this.layoutControl1; + this.cbType.TabIndex = 7; + this.cbType.SelectedIndexChanged += new System.EventHandler(this.cbType_SelectedIndexChanged); + // + // btnStart + // + this.btnStart.Location = new System.Drawing.Point(725, 4); + this.btnStart.Name = "btnStart"; + this.btnStart.Size = new System.Drawing.Size(174, 26); + this.btnStart.StyleController = this.layoutControl1; + this.btnStart.TabIndex = 6; + this.btnStart.Text = "START"; + this.btnStart.Click += new System.EventHandler(this.btnStart_ClickA); + // + // teTargetIP + // + this.teTargetIP.AllowInternalTab = false; + this.teTargetIP.AutoHeight = true; + this.teTargetIP.BackColor = System.Drawing.SystemColors.Window; + this.teTargetIP.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.teTargetIP.Cursor = System.Windows.Forms.Cursors.IBeam; + this.teTargetIP.Font = new System.Drawing.Font("Tahoma", 11.25F); + this.teTargetIP.Location = new System.Drawing.Point(101, 4); + this.teTargetIP.MinimumSize = new System.Drawing.Size(117, 26); + this.teTargetIP.Name = "teTargetIP"; + this.teTargetIP.ReadOnly = false; + this.teTargetIP.Size = new System.Drawing.Size(239, 26); + this.teTargetIP.TabIndex = 5; + this.teTargetIP.Text = "192.168.0.200"; + // + // lbTargetIP + // + this.lbTargetIP.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.lbTargetIP.Location = new System.Drawing.Point(4, 4); + this.lbTargetIP.Name = "lbTargetIP"; + this.lbTargetIP.Size = new System.Drawing.Size(93, 26); + this.lbTargetIP.StyleController = this.layoutControl1; + this.lbTargetIP.TabIndex = 4; + this.lbTargetIP.Text = "IP Address"; + // + // layoutControlGroup1 + // + this.layoutControlGroup1.CustomizationFormText = "layoutControlGroup1"; + this.layoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.layoutControlGroup1.GroupBordersVisible = false; + this.layoutControlGroup1.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.emptySpaceItem2, + this.layoutControlItem2, + this.layoutControlItem3, + this.layoutControlItem4, + this.lcitemType}); + this.layoutControlGroup1.Location = new System.Drawing.Point(0, 0); + this.layoutControlGroup1.Name = "layoutControlGroup1"; + this.layoutControlGroup1.Padding = new DevExpress.XtraLayout.Utils.Padding(2, 2, 2, 2); + this.layoutControlGroup1.Size = new System.Drawing.Size(903, 34); + this.layoutControlGroup1.Text = "layoutControlGroup1"; + this.layoutControlGroup1.TextVisible = false; + // + // emptySpaceItem2 + // + this.emptySpaceItem2.AllowHotTrack = false; + this.emptySpaceItem2.CustomizationFormText = "emptySpaceItem2"; + this.emptySpaceItem2.Location = new System.Drawing.Point(577, 0); + this.emptySpaceItem2.Name = "emptySpaceItem2"; + this.emptySpaceItem2.Size = new System.Drawing.Size(144, 30); + this.emptySpaceItem2.Text = "emptySpaceItem2"; + this.emptySpaceItem2.TextSize = new System.Drawing.Size(0, 0); + // + // layoutControlItem2 + // + this.layoutControlItem2.Control = this.lbTargetIP; + this.layoutControlItem2.CustomizationFormText = "layoutControlItem2"; + this.layoutControlItem2.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem2.MinSize = new System.Drawing.Size(74, 18); + this.layoutControlItem2.Name = "layoutControlItem2"; + this.layoutControlItem2.Size = new System.Drawing.Size(97, 30); + this.layoutControlItem2.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem2.Text = "layoutControlItem2"; + this.layoutControlItem2.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem2.TextToControlDistance = 0; + this.layoutControlItem2.TextVisible = false; + // + // layoutControlItem3 + // + this.layoutControlItem3.Control = this.teTargetIP; + this.layoutControlItem3.CustomizationFormText = "layoutControlItem3"; + this.layoutControlItem3.Location = new System.Drawing.Point(97, 0); + this.layoutControlItem3.MinSize = new System.Drawing.Size(121, 30); + this.layoutControlItem3.Name = "layoutControlItem3"; + this.layoutControlItem3.Size = new System.Drawing.Size(243, 30); + this.layoutControlItem3.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem3.Text = "layoutControlItem3"; + this.layoutControlItem3.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem3.TextToControlDistance = 0; + this.layoutControlItem3.TextVisible = false; + // + // layoutControlItem4 + // + this.layoutControlItem4.Control = this.btnStart; + this.layoutControlItem4.CustomizationFormText = "layoutControlItem4"; + this.layoutControlItem4.Location = new System.Drawing.Point(721, 0); + this.layoutControlItem4.MinSize = new System.Drawing.Size(93, 26); + this.layoutControlItem4.Name = "layoutControlItem4"; + this.layoutControlItem4.Size = new System.Drawing.Size(178, 30); + this.layoutControlItem4.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem4.Text = "layoutControlItem4"; + this.layoutControlItem4.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem4.TextToControlDistance = 0; + this.layoutControlItem4.TextVisible = false; + // + // lcitemType + // + this.lcitemType.AppearanceItemCaption.Options.UseTextOptions = true; + this.lcitemType.AppearanceItemCaption.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center; + this.lcitemType.Control = this.cbType; + this.lcitemType.CustomizationFormText = "Type"; + this.lcitemType.Location = new System.Drawing.Point(340, 0); + this.lcitemType.MinSize = new System.Drawing.Size(109, 28); + this.lcitemType.Name = "lcitemType"; + this.lcitemType.Size = new System.Drawing.Size(237, 30); + this.lcitemType.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.lcitemType.Text = "Type"; + this.lcitemType.TextAlignMode = DevExpress.XtraLayout.TextAlignModeItem.CustomSize; + this.lcitemType.TextSize = new System.Drawing.Size(50, 20); + this.lcitemType.TextToControlDistance = 5; + // + // lcgMain + // + this.lcgMain.CustomizationFormText = "lcgMain"; + this.lcgMain.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.True; + this.lcgMain.GroupBordersVisible = false; + this.lcgMain.Items.AddRange(new DevExpress.XtraLayout.BaseLayoutItem[] { + this.layoutControlItem1, + this.layoutControlItem5, + this.layoutControlItem8, + this.layoutControlItem11}); + this.lcgMain.Location = new System.Drawing.Point(0, 0); + this.lcgMain.Name = "Root"; + this.lcgMain.Padding = new DevExpress.XtraLayout.Utils.Padding(1, 1, 1, 1); + this.lcgMain.Size = new System.Drawing.Size(913, 729); + this.lcgMain.Text = "Root"; + this.lcgMain.TextVisible = false; + // + // layoutControlItem1 + // + this.layoutControlItem1.Control = this.gcTargetConfig; + this.layoutControlItem1.CustomizationFormText = "layoutControlItem1"; + this.layoutControlItem1.Location = new System.Drawing.Point(0, 0); + this.layoutControlItem1.MaxSize = new System.Drawing.Size(0, 62); + this.layoutControlItem1.MinSize = new System.Drawing.Size(104, 62); + this.layoutControlItem1.Name = "layoutControlItem1"; + this.layoutControlItem1.Size = new System.Drawing.Size(911, 62); + this.layoutControlItem1.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem1.Text = "layoutControlItem1"; + this.layoutControlItem1.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem1.TextToControlDistance = 0; + this.layoutControlItem1.TextVisible = false; + // + // layoutControlItem5 + // + this.layoutControlItem5.Control = this.gcLogging; + this.layoutControlItem5.CustomizationFormText = "layoutControlItem5"; + this.layoutControlItem5.Location = new System.Drawing.Point(0, 577); + this.layoutControlItem5.MaxSize = new System.Drawing.Size(0, 150); + this.layoutControlItem5.MinSize = new System.Drawing.Size(104, 150); + this.layoutControlItem5.Name = "layoutControlItem5"; + this.layoutControlItem5.Size = new System.Drawing.Size(708, 150); + this.layoutControlItem5.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem5.Text = "layoutControlItem5"; + this.layoutControlItem5.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem5.TextToControlDistance = 0; + this.layoutControlItem5.TextVisible = false; + // + // layoutControlItem8 + // + this.layoutControlItem8.Control = this.tabSystemStatus; + this.layoutControlItem8.CustomizationFormText = "layoutControlItem8"; + this.layoutControlItem8.Location = new System.Drawing.Point(0, 62); + this.layoutControlItem8.Name = "layoutControlItem8"; + this.layoutControlItem8.Size = new System.Drawing.Size(911, 515); + this.layoutControlItem8.Text = "layoutControlItem8"; + this.layoutControlItem8.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem8.TextToControlDistance = 0; + this.layoutControlItem8.TextVisible = false; + // + // layoutControlItem11 + // + this.layoutControlItem11.Control = this.gbDataLog; + this.layoutControlItem11.CustomizationFormText = "layoutControlItem11"; + this.layoutControlItem11.Location = new System.Drawing.Point(708, 577); + this.layoutControlItem11.MaxSize = new System.Drawing.Size(203, 150); + this.layoutControlItem11.MinSize = new System.Drawing.Size(203, 150); + this.layoutControlItem11.Name = "layoutControlItem11"; + this.layoutControlItem11.Size = new System.Drawing.Size(203, 150); + this.layoutControlItem11.SizeConstraintsType = DevExpress.XtraLayout.SizeConstraintsType.Custom; + this.layoutControlItem11.Text = "layoutControlItem11"; + this.layoutControlItem11.TextSize = new System.Drawing.Size(0, 0); + this.layoutControlItem11.TextToControlDistance = 0; + this.layoutControlItem11.TextVisible = false; + // + // tmrLogging + // + this.tmrLogging.Interval = 500; + this.tmrLogging.Tick += new System.EventHandler(this.tmrLogging_Tick); + // + // menuStrip1 + // + this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripMenuItem1}); + this.menuStrip1.Location = new System.Drawing.Point(1, 24); + this.menuStrip1.Name = "menuStrip1"; + this.menuStrip1.Size = new System.Drawing.Size(686, 24); + this.menuStrip1.TabIndex = 2; + this.menuStrip1.Text = "menuStrip1"; + // + // toolStripMenuItem1 + // + this.toolStripMenuItem1.Name = "toolStripMenuItem1"; + this.toolStripMenuItem1.Size = new System.Drawing.Size(127, 20); + this.toolStripMenuItem1.Text = "toolStripMenuItem1"; + // + // serialPort1 + // + this.serialPort1.ErrorReceived += new System.IO.Ports.SerialErrorReceivedEventHandler(this.serialPort1_ErrorReceived); + this.serialPort1.PinChanged += new System.IO.Ports.SerialPinChangedEventHandler(this.serialPort1_PinChanged); + this.serialPort1.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(this.serialPort1_DataReceived); + // + // fmMain + // + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(913, 729); + this.Controls.Add(this.lcMain); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "fmMain"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "AMO LFP Monitor"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.fmMain_FormClosing); + ((System.ComponentModel.ISupportInitialize)(this.lcMain)).EndInit(); + this.lcMain.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.gbDataLog)).EndInit(); + this.gbDataLog.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl6)).EndInit(); + this.layoutControl6.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.cbLogTime.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemLogTime)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem13)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem12)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.tabSystemStatus)).EndInit(); + this.tabSystemStatus.ResumeLayout(false); + this.pgSystem1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl4)).EndInit(); + this.layoutControl4.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem7)).EndInit(); + this.pgSystem2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl3)).EndInit(); + this.layoutControl3.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem9)).EndInit(); + this.pgSystem3.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl5)).EndInit(); + this.layoutControl5.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem10)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gcLogging)).EndInit(); + this.gcLogging.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl2)).EndInit(); + this.layoutControl2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.tabDataLog)).EndInit(); + this.tabDataLog.ResumeLayout(false); + this.tpDataLog.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.panelControl1)).EndInit(); + this.panelControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.meDataLog.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem6)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem14)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.gcTargetConfig)).EndInit(); + this.gcTargetConfig.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.layoutControl1)).EndInit(); + this.layoutControl1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.cbType.Properties)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlGroup1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.emptySpaceItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcitemType)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.lcgMain)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem5)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem8)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.layoutControlItem11)).EndInit(); + this.menuStrip1.ResumeLayout(false); + this.menuStrip1.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Timer tmrDisplay; + private DevExpress.XtraLayout.LayoutControl lcMain; + private DevExpress.XtraLayout.LayoutControlGroup lcgMain; + private DevExpress.XtraEditors.GroupControl gcTargetConfig; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem1; + private DevExpress.XtraLayout.LayoutControl layoutControl1; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup1; + private DevExpress.XtraLayout.EmptySpaceItem emptySpaceItem2; + private DevExpress.XtraEditors.LabelControl lbTargetIP; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem2; + private IPAddressControlLib.IPAddressControl teTargetIP; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem3; + private DevExpress.XtraEditors.SimpleButton btnStart; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem4; + private DevExpress.XtraEditors.GroupControl gcLogging; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem5; + private DevExpress.XtraLayout.LayoutControl layoutControl2; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup2; + private DevExpress.XtraTab.XtraTabControl tabDataLog; + private DevExpress.XtraTab.XtraTabPage tpDataLog; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem6; + private DevExpress.XtraEditors.PanelControl panelControl1; + private DevExpress.XtraEditors.MemoEdit meDataLog; + private DevExpress.XtraTab.XtraTabControl tabSystemStatus; + private DevExpress.XtraTab.XtraTabPage pgSystem1; + private DevExpress.XtraTab.XtraTabPage pgSystem2; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem8; + private DevExpress.XtraLayout.LayoutControl layoutControl4; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup4; + private Controls.ucShelfStatus ucShelfA; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem7; + private DevExpress.XtraEditors.ComboBoxEdit cbType; + private DevExpress.XtraLayout.LayoutControlItem lcitemType; + private DevExpress.XtraLayout.LayoutControl layoutControl3; + private Controls.ucShelfStatus ucShelfB; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup3; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem9; + private DevExpress.XtraTab.XtraTabPage pgSystem3; + private DevExpress.XtraLayout.LayoutControl layoutControl5; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup5; + private Controls.ucShelfStatus ucShelfC; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem10; + private DevExpress.XtraEditors.GroupControl gbDataLog; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem11; + private DevExpress.XtraLayout.LayoutControl layoutControl6; + private DevExpress.XtraEditors.SimpleButton btnLogStart; + private DevExpress.XtraEditors.ComboBoxEdit cbLogTime; + private DevExpress.XtraLayout.LayoutControlGroup layoutControlGroup6; + private DevExpress.XtraLayout.LayoutControlItem lcitemLogTime; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem13; + private DevExpress.XtraEditors.SimpleButton btnOpenLogFolder; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem12; + private System.Windows.Forms.Timer tmrLogging; + private System.Windows.Forms.MenuStrip menuStrip1; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; + private DevExpress.XtraEditors.SimpleButton btnLogClear; + private DevExpress.XtraLayout.LayoutControlItem layoutControlItem14; + private System.IO.Ports.SerialPort serialPort1; + } +} + diff --git a/LFP_Manager/fmMain.cs b/LFP_Manager/fmMain.cs new file mode 100644 index 0000000..6a63421 --- /dev/null +++ b/LFP_Manager/fmMain.cs @@ -0,0 +1,278 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using System.Net; +using SnmpSharpNet; + +using System.Threading; + +using LFP_Manager.DataStructure; +using LFP_Manager.Threads; +using LFP_Manager.Utils; + +using System.Diagnostics; + +namespace LFP_Manager +{ + public partial class fmMain : Form + { + DeviceSystemData[] SystemData; + csSnmpThread snmpThread; + + public fmMain() + { + InitializeComponent(); + + StructDataInit(); + + cbType.SelectedIndex = 0; + + ucShelfA.Start(0, SystemData[0]); + ucShelfB.Start(1, SystemData[1]); + ucShelfC.Start(2, SystemData[2]); + + tabSystemStatus.TabPages[1].PageVisible = false; + tabSystemStatus.TabPages[2].PageVisible = false; + + pgSystem1.Text = "SYSTEM"; + + tmrDisplay.Start(); + } + + private void StructDataInit() + { + SystemData = new DeviceSystemData[csConstData.SystemInfo.MAX_SYSTEM_SIZE]; + + for (int i = 0; i < csConstData.SystemInfo.MAX_SYSTEM_SIZE; i++) + { + SystemData[i] = new DeviceSystemData(); + SystemData[i].ValueData = new DeviceValueData(); + SystemData[i].ValueData.CellVoltage = new short[csConstData.SystemInfo.MAX_MODULE_CELL_SIZE]; + SystemData[i].ValueData.CellTemperature = new short[csConstData.SystemInfo.MAX_MODULE_TEMP_SIZE]; + + SystemData[i].AvgData = new DeviceAvgData(); + SystemData[i].StatusData = new DeviceStatusData(); + + SystemData[i].CalibriationData = new DeviceCalibration(); + SystemData[i].CalibriationData.CellVoltge = new CellVoltageCalib(); + SystemData[i].CalibriationData.SystemVoltage = new SystemVoltageCalib(); + SystemData[i].CalibriationData.ForcedBalancing = new ForcedBalControl(); + SystemData[i].CalibriationData.Battery = new BatteryParameter(); + } + } + + private void UpdateData(object sender, DeviceSystemData[] rData) + { + SystemData = rData; + ucShelfA.UpdateData(SystemData[0]); + ucShelfB.UpdateData(SystemData[1]); + ucShelfC.UpdateData(SystemData[2]); + } + + #region EVENT FUNCTION + + private void tmrDisplay_Tick(object sender, EventArgs e) + { + if (snmpThread != null) + { + string data = snmpThread.GetResult(); + + if (data != "") + { + meDataLog.Text = data + "\r\n" + meDataLog.Text; + } + } + } + + private void fmMain_FormClosing(object sender, FormClosingEventArgs e) + { + tmrDisplay.Stop(); + if (snmpThread != null) + snmpThread.disposeThread(); + } + + private void btnStart_Click(object sender, EventArgs e) + { + if (snmpThread.GetStatus()) + { + snmpThread.Start(teTargetIP.Text); + teTargetIP.Enabled = false; + btnStart.Text = "Stop"; + } + else + { + snmpThread.Stop(); + teTargetIP.Enabled = true; + btnStart.Text = "Start"; + } + } + + private void btnStart_ClickA(object sender, EventArgs e) + { + //if (snmpThread == null) + //{ + // snmpThread = new csSnmpThread(Config, SystemData); + // snmpThread.OnUpdate += UpdateData; + + // snmpThread.Start(teTargetIP.Text); + + // teTargetIP.Enabled = false; + // cbType.Enabled = false; + // btnStart.Text = "Stop"; + //} + //else + //{ + // snmpThread.Stop(); + // snmpThread.disposeThread(); + // snmpThread = null; + + // teTargetIP.Enabled = true; + // cbType.Enabled = true; + // btnStart.Text = "Start"; + //} + } + + #endregion + + #region SUB EVENT + + private void cbType_SelectedIndexChanged(object sender, EventArgs e) + { + switch (cbType.SelectedIndex) + { + case 0: // KT LFPS-48100 + case 1: // KT LFPR-48300 + case 4: // ESS LFPS-48150 + tabSystemStatus.TabPages[0].PageVisible = true; + tabSystemStatus.TabPages[1].PageVisible = false; + tabSystemStatus.TabPages[2].PageVisible = false; + + pgSystem1.Text = "SYSTEM"; + break; + case 2: // KT LFPR-48600 + tabSystemStatus.TabPages[0].PageVisible = true; + tabSystemStatus.TabPages[1].PageVisible = true; + tabSystemStatus.TabPages[2].PageVisible = false; + + pgSystem1.Text = "SYSTEM #A"; + pgSystem2.Text = "SYSTEM #B"; + break; + case 3: // KT LFPR-48900 + tabSystemStatus.TabPages[0].PageVisible = true; + tabSystemStatus.TabPages[1].PageVisible = true; + tabSystemStatus.TabPages[2].PageVisible = true; + + pgSystem1.Text = "SYSTEM #A"; + pgSystem2.Text = "SYSTEM #B"; + pgSystem3.Text = "SYSTEM #C"; + break; + } + } + + #endregion + + private void btnOpenLogFolder_Click(object sender, EventArgs e) + { + System.Diagnostics.Process ps = new System.Diagnostics.Process(); + ps.StartInfo.FileName = "explorer.exe"; + ps.StartInfo.Arguments = csLog.GetLogFolder(Application.ExecutablePath); + ps.StartInfo.WorkingDirectory = csLog.GetLogFolder(Application.ExecutablePath); + ps.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal; + + ps.Start(); + } + + #region LOG TIMER TICK EVENT + + DateTime bakDateTime; + + private void tmrLogging_Tick(object sender, EventArgs e) + { + DateTime cDate = DateTime.Now; + int ss; + + if (cbType.Enabled == false) + { + if (SystemData[0].CommFail == false) + { + ss = Convert.ToInt16(cbLogTime.Text); + + if ( + ((bakDateTime.Minute != cDate.Minute) + || (bakDateTime.Second != cDate.Second)) + && ((cDate.Second % ss) == 0) + ) + { + for (int i = 0; i < csConstData.SystemInfo.MAX_SYSTEM_SIZE; i++) + { + try + { + //csLog.SystemDataLog(i + 1, Config, SystemData[i], cDate, Application.ExecutablePath); + bakDateTime = cDate; + } + catch (Exception ex) + { + string snmpResult = "[" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "] " + String.Format("Exception : {0}", ex.Message); + + meDataLog.Text = snmpResult + "\r\n" + meDataLog.Text; + } + } + } + } + } + } + + #endregion + + bool logging = false; + + private void btnLogStart_Click(object sender, EventArgs e) + { + if (logging == true) + { + tmrLogging.Stop(); + cbLogTime.Enabled = true; + logging = false; + btnLogStart.Text = "Log Start"; + } + else + { + tmrLogging.Start(); + cbLogTime.Enabled = false; + logging = true; + btnLogStart.Text = "Log Stop"; + } + } + + private void btnLogClear_Click(object sender, EventArgs e) + { + meDataLog.Text = ""; + } + + private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) + { + + } + + private void serialPort1_ErrorReceived(object sender, System.IO.Ports.SerialErrorReceivedEventArgs e) + { + + } + + private void serialPort1_PinChanged(object sender, System.IO.Ports.SerialPinChangedEventArgs e) + { + + } + + private void gcTargetConfig_Paint(object sender, PaintEventArgs e) + { + + } + + } +} diff --git a/LFP_Manager/fmMain.resx b/LFP_Manager/fmMain.resx new file mode 100644 index 0000000..d9621e2 --- /dev/null +++ b/LFP_Manager/fmMain.resx @@ -0,0 +1,4586 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 128, 17 + + + 260, 16 + + + 376, 16 + + + 59 + + + + + AAABAAQAICAAAAEAGACoDAAARgAAADAwAAABABgAqBwAAO4MAACAgAAAAQAYACjIAACWKQAAAAAAAAEA + GAAoIAMAvvEAACgAAAAgAAAAQAAAAAEAGAAAAAAAgAwAAAAAAAAAAAAAAAAAAAAAAAD///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////+/v7+/v7+/v7+/v7+/v7+/v7+/v7/ + ///+/v7////////////////////////////////////////////////////////+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7////+/v7+/v3+/v3+/v3+/v7+/f3////////+/v7///////////////////// + ///////////////////////////+/v7////+/v7+/f3+/v7+/v3+/v3+/v3+/v7////7+ff///////// + ///////////////+/v3+/v7////+/v7////////////////////////////////////////+/v7////+ + /v7+/v7////////////////////////7+PbCnHejazCkbTKkbDKlbjSdYTDLrIr////9/Pz+/v7///// + ///////////////////////////////////////////+/v79/fz////BnHSeYjClbjSkbDKkbDOjazDc + x7L49PGkbDKEOACKQwCJQQCHPgCNRwTt49n+/v39/Pz+/v7+/v7///////////////////////////// + ///+/v7+/v79/Pv//v7j0sKHPgCJQACJQQCLRACCNgCufkv////////q3tKOSQePSgSPSwKRTQSHPgCt + e0f////9/Pv+/v7////////////////////////////////+/v7////9/f39/Pv9/PuiaS6JQQCQTQOP + SwKNSAOUUxLz7ef+/f37+Pb////AmnKGOwCQTAKOSQCPSwKHPwDaxa7////8+/r+/v7+/v7///////// + ///////////+/v7///7+/v77+vj////OsJGGPACQTAKOSQCQTAKGPADNr4/////7+ff9/Pv9/fz38u6Z + WhuLQwCPSgGPSgGLRQGcXyH59vP9/fz9/fz////+/v7////////+/v7+/v7////+/v77+vn////u5NqS + Tw+OSAKOSQCPSwKJQACiai/8+vn9/Pz9/f3+///9/Pv////WvqWHPQCQTAOOSQCQTQOGPADDn3j////8 + +/r+/v7////+/v7+/v7+/v79/fz8+/r9/f3////u49mdYSiKQwCPSwGOSQCPSwKKQgDi0L/////9/Pv+ + /v7//v7+/v79/Pz///+seUOIPwCQTAKOSQCOSQKNSAbq39P+/v39/Pz+/v7////////////////////+ + /v7SuJ6WVRiLRQCRTwaQTASSUAeHPgC4jV7////9/Pv+/v7////+/v7+/v79/Pz+/v7r39SOSQeOSgKO + SQCQSwKHPwCsekT+/v/9/Pz+/v78+/r49PDy6uPi0cDDn3yZXB9/MACEOACHPgCGOwCFPACEOgCTURDz + 7Ob9/fz9/f3////+/v7////////+/v78+/r////CnneGPACQTAKOSQCQTAKHPgDYwan////9/Pz38u7o + 2szgzbvTuZ/MrY/St5zeyrTcyLLcx7Hcx7HdybPVvKfl1cX////9/fz+/v7+/v7////////+/v7////9 + /f39/Pz59fObXiCKQwCPSgGPSgGLRAGaXB349PH9/fz+/v/////////////////28e3AmnrEn3rDn3nE + oXu+lnbcxrD////9/Pv+/v7////////////////////+/v7+/v79/Pv////bxa+HPgCPSwKOSQCQTAKG + PADAmnH////8+/r9/fz9/Pv7+ff9/Purd0F/MACGOwCFOgCEOQCEOADj0sH+/fz9/Pz+/v7+/v7///// + ///////////////////+/v79/Pz///+ufkqHPgCQTAKOSQCOSgKNRwPp3M/+/v79/Pv8+/r////YwaqH + PgCSTwaQTAOSTwaHPgDDn3n////9/Pv+/v7////////////////////////////+/v7+/v79/Pz+/v7t + 4tiNSAaNSAKOSQCQTAKJQQCqd0D+/v79/Pv9/fz49fKbXyCMRQGPSwGPSgGLRAGYWRn38+/9/fz9/f3/ + ///+/v7///////////////////////////////7+/v79/Pv////EoHqFOwCQTQOOSQCQTQOHPwDUu6H/ + ///////Dn3iGPQCQTQOOSQCQTAOGPQDWvaT////9/Pv+/v7+/v7///////////////////////////// + ///+/v7////9/f39/Pv59vScYCOLRQGPSwKPSgGMRQGWVhf7+ffu5duNSAaOSQKOSQCQTAKJQQCqd0D+ + /v79+/r+/v7////////////////////////////////////////////+/v7+/v78+/r////cx7GJQgCQ + TAOOSQCQTAKFOwC/mXKzhVSGPACQTAKOSQCPSgKOSQfq3dH////9/Pv+/v7+/v7///////////////// + ///////////////////////////////+/v79/Pv///+wgU6HPgCQSwKOSQCPSgGMRgCMRwCPSgCOSQCQ + TAKGPADAmnH////9/Pr+/v7////////////////////////////////////////////////////+/v7+ + /v79/Pz+/v3u5NuPSwmNRwGOSQCPSgCPSwGPSgGPSQCPSgGLRACYWRn38u79/fz9/fz///7+/v7///// + ///////////////////////////////////////////////////+/v79/Pv////HpoKFOwCQTQOOSQCP + SgCPSgCOSQCQTAOGPQDVvaP////9/Pv+/v7+/v7///////////////////////////////////////// + ///////////////+/v7////9/f39/fz7+fefZSiIQACOSQCNRwCNRwCOSQCGPQCrd0H+///9/fz+/v7/ + ///////////////////////////////////////////////////////////////////+/v7+/v79/Pv/ + ///fzLmSTxWXWBWWVhSWVhSWVhSWVRrq3dH////9/Pz+/v7+/v7///////////////////////////// + ///////////////////////////////////////////+/v7+/v7////38+728e328e328e328Oz49fD/ + ///+/v7+/v7///////////////////////////////////////////////////////////////////// + ///////+/v7////////+/v3////////////////////////+/v3////////+/v7///////////////// + ///////////////////////////////////////////////////////////+/v7////+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7////+/v7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAACgAAAAwAAAAYAAAAAEAGAAAAAAAgBwAAAAAAAAAAAAAAAAAAAAAAAD///////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7////+/v7+/v7///////// + ///////////////////////////////////////////////////////////////////////////////+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////// + /////////v7+/v7///////////////////////////////////////////////////////////////// + ///////////////////////////+/v7////////+/v7///////////////////////////////////// + ///38u38+vn8+vj8+vj8+vj8+vj8+vj8+vj7+ff////+/v3+/v7+/v7+/v7///////////////////// + ///////////////////////////////////////////////////////////////+/v7+/v7+/v7////7 + +ff8+vj8+vj8+vj8+vj8+vj8+vj7+ff59fK7kmmbXh+cXyCcXyCcXyCcXyCbXyCdYSGWVR3Fon3////9 + /Pz+/v7///////////////////////////////////////////////////////////////////////// + ///////+/v7+/v79/f39/fz///+1iFqXVx2cYCGcXyCcXyCcXyCcXyCbXiCcYCPn2Mv7+fencTqDOACM + RgCLRACLRACLRACLRACKQwCMRQLq3tL////9/Pz+/v7///////////////////////////////////// + ///////////////////////////////////////////+/v79/Pz////Zw6uGOwCMRQCLRACLRACLRACL + QwCNRwCCNQC4jmH////////r39SNRwWOSgOOSgGPSgGPSgGPSgGQTAOIPwCpdD3////9/fz9/f3////+ + /v7////////////////////////////////////////////////////////////////+/v7+/v79/f3+ + /f359vOZWxyLRACQSwKPSgGPSgGPSgGPSgGMRQKXWBn49PD+/fz8+vn////BnHWFOgCQTAGOSQCPSgCP + SgCOSQCPTAKFOwDVvaT////9/Pv+/v7///////////////////////////////////////////////// + ///////////////////////+/v79/Pv////BnXaEOgCQTAKOSQCPSgCPSgCOSQCPSwGGOwDVvKL////8 + +/r9/Pz9/f349fKZXB2KQwCPSgGOSQCOSQCOSQCPSgGLRAGXWBj38+/+/f39/f3+/v7+/v7///////// + /////////////////////////////////////////////////v7+/v79/fz+/v7r39SMRwWNSAGOSQCO + SQCOSgCOSQCPSwGHPgCpdT7////9/Pz+/f3+/v79/Pv////YwquGPACPSwGOSQCPSgCPSgCOSQCQTAGF + OgC+l23////9/fz+/v7////+/v7////////////////////////////////////////////////+/v7+ + ///9/f39/Pv///+qdkGHPQCPSwGOSQCPSgCPSgCOSQCOSAGLRALp3dH////9/Pv+/v7+/v7+/f39/fz/ + //+se0aHPgCQTAKOSQCPSgCPSgCOSQCOSQKLRALn2s3//v79/Pz+/v7///////////////////////// + ///////////////////+/v7+/v7////+/v78+vn////Rt5qGPACQSwKOSQCPSgCPSgCOSQCQTAKFOwC/ + mXL////9/Pz+/v7////////+/v79/fz///7s4deNSAeNSAGOSQCOSQCOSQCOSQCQSwKHPgCnczv+/v79 + /Pz9/f3+/v7+/v7////////////////////////////+/v7+/v7////////9/f38+/r////j08KNSQiN + RgGOSgCOSQCOSQCOSQCPSgCLRACYWhv48/D+/f39/f3+/v7+/v7+/v7////+/v79/Pz////Dn3qFOgCQ + TAGOSQCPSgCPSgCOSQCQSwGGPADSuJ3////9/Pz+/v7////////////////////////+/v7+/v7///// + ///+/v79/Pv////////cx7KPTA2LRQCPSgCOSQCPSgCPSgCOSQCPSwGGPADWvqb////9/Pz+/v7///// + ///////////+/v79/f3+/f359/SbXiCKQgCPSgGOSQCOSQCOSQCPSgCLRQCVVBT18Oz+/f39/fz+/v7+ + /v7////+/v7+/v7+/v7+/v7+/f39/Pz9/Pv////////49PC/mHSKQgCMRQCPSgCOSQCPSgCPSgCOSQCQ + TAKGPQCreEL////9/Pz9/f3+/v7+/v7////////////////+/v79/Pv////axK6FPACPSwKOSQCPSgCP + SgCOSQCQTAKEOQC8lGn////9/Pv+/v7////////////////////////////////////49fLQs5ibXyWH + PgCPSwKQTQOQSwKQTAOQTAKQTAKPSwOOSgOMRQPq3tP////9/Pz+/v7////////////////////+/v7/ + ///+/v39/Pz///+vf0uHPgCQSwGOSQCOSgCPSgCOSQCOSQGLRAHm18n////9/fz+/v7////+/v36+Pb5 + 9fLz7ejo2s3RtpuwgFCNRwN9LQCCNQCHPgCGOwCFOwCGOwCGOwCGOwCFOwCGPAB/MADCnnj////9/Pz+ + /v7////+/v7////////////////////+/v7+/v79/fz///7v5t6PSgiNRwGOSQCPSgCOSQCOSQCPSwGJ + QAClbjX+/f39/f39/f3//v769/XfzbjZw67QtJrEoX67kmq6kGa/mXLDn3rEoHzEoHvEoHvEoHvEoHvE + oHvEoHvDoHvDnnvEoH369/X+/v79/f3+/v7+/v7////////////////////////////////+/v79/Pv/ + ///GpICFOgCQTAKOSQCPSgCPSgCOSQCQTAKGPADQtJf////9/Pz+/v7///////////////////////// + ///////////////////////////////////////////////////////+/v7+//////////////////// + ///////////////////+/v7+/v79/f3+/f36+PadYiSKQwCPSgCOSQCOSQCOSQCPSgGMRgGUVBP07uj+ + /v39/fz+/v7+/v7+/v3+/f39/fz9/Pv7+vj+/f3cyLSXVyGcYCKcXyCcXyCcXyCcXyCdYSKUUxzDn3z9 + /Pz9/Pz9/f3////+/v7////////////////////////////////////////+/v79/Pz////cx7KHPwCP + SgGOSQCPSgCPSgCOSQCQTAKGPAC5kGP////9/Pv+/v7//v7+/v7+/v7+/v79/f39/fz7+feeYyaGPACL + RQCLRACLRACLRACLRACIQACQTAnw59/+/v79/f3+/v7+/v7///////////////////////////////// + ///////+/v7///79/f39/Pv///+xglCGPACQSwGOSQCPSgCOSQCOSQCOSQGKQgDk1MT////9/fz+/v7/ + ///////+/v79/Pz////HpoOFOgCQTAKOSgCPSgGPSgGOSgGQTAKFOwDPs5b////9/Pv+/v7///////// + ///////////////////////////////////////////+/v/+/v79/Pz+/v7w59+PSgiMRgGOSgCPSgCP + SgCOSQCPSwGIQACiajD+/f39/f39/f3///7+/v79/fz+/v7w6OCPSgmNRwGOSQCOSQCOSQCOSQCPSwKI + PwCiaS79/fz9/fz9/f3+/v7+/v7///////////////////////////////////////////////////7/ + ///+/v79/Pv////Ip4WFOgCQTAKOSQCPSgCPSgCOSQCQTAKEOQDOsZP////9/Pv+/v7+/v79/Pv///+x + glGFOwCQTAKOSQCPSgCPSgCOSQCOSgKIQADj08L////9/Pz+/v7///////////////////////////// + ///////////////////////////////+/v7+/v79/f39/f38+vmeZCeJQQCPSwGOSQCOSQCOSQCPSgGM + RQGRTw7z7ef+/v39/f39/Pz////fzLiHPQCPSgGOSQCPSgCPSgCOSQCQTAGFOwC4jF/////9/fz+/v7+ + /v7+/v7////////////////////////////////////////////////////////////////+/v79/fz/ + ///fzLqHPgCOSgGOSQCPSgCPSgCOSQCQTAGFPAC3jF7////9/Pz+/f38+vifZCiJQQCPSwGOSQCOSQCP + SgCOSgGLRQGTURDz7ef+/v39/f3+/v7///////////////////////////////////////////////// + ///////////////////+/v7////+/v79/Pv///+zhVWFOwCQTAKOSQCPSgCPSgCOSQCOSgKJQQDi0cH+ + /v7////JqYeFOgCQTAKOSQCPSgCPSgCOSQCQTAKEOgDNsJH////9/Pv+/v7////+/v7///////////// + ///////////////////////////////////////////////////////+/v7+/v79/fz+/v3w6eGRTQyN + RwGOSQCOSQCOSQCOSQCPSwKJQQChaC7////x6eKRTgyNRgGPSgCPSgCOSQCOSQCPSwGJQQCiajD8+/r9 + /fz9/f3+/v7+/v7///////////////////////////////////////////////////////////////// + ///////////////+/v79/Pz////LrIuFPACQTAGOSQCPSgCPSgCOSQCQSwGFOwDPspW5j2SGPACQSwGO + SQCPSgCPSgCOSQCOSgGJQgDj0sL////9/Pz+/v7///////////////////////////////////////// + ///////////////////////////////////////////+/v7+/v79/f39/fz9/PygZyuJQACPSwGOSQCO + SQCOSQCOSQCOSACOSACNSACOSQCOSQCPSgCPSgCOSQCQTAKFOwC3i13////9/Pv+/v7////+/v7///// + //////////////////////////////////////////////////////////////////////////////// + ///+/v79/Pv////hz72JQACPSwKOSQCPSgCPSgCOSQCPSgCOSQCOSQCPSgCOSQCOSQCOSQCOSQCMRgGS + UA/y6+X+/v39/fz+/v7+/v7///////////////////////////////////////////////////////// + ///////////////////////////////+/v7////+/v79/fz///+1iVuGPACQSwGOSQCPSgCPSgCOSQCP + SgCPSgCOSQCPSgCPSgCOSQCQTAGFOgDNrpD////9/Pz+/v7///////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7+/v79/f3+ + /v3y6+SSUA6MRQGOSgCOSQCOSQCPSgCPSgCPSgCPSgCOSQCOSQCPSwGIQAChaS78+/r9/Pz9/f3+/v7+ + /v7///////////////////////////////////////////////////////////////////////////// + ///////////////////////////+/v79/Pv////NsJGFOwCQSwGOSQCPSgCPSgCPSgCPSgCOSQCPSgCO + SQCOSQGJQQDi0cD////9/Pv+/v7///////////////////////////////////////////////////// + ///////////////////////////////////////////////////////+/v7+/v79/f39/Pz8+/qiai+J + QACRTQSPSwKQSwKQSwKQSwKQSwKPSwKRTgSGPAC2iVr////9/Pv+/f3////+/v7///////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////+/v79/Pv////j08KGPQCHPQCHPgCIPgCIPgCIPgCIPgCHPwCFOgCRTgvy6uP+/f39 + /fz+/v7+/v7///////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////+/v7////+/v79/f3////JqIeufFOzhVezhFaz + hFazhFayhFazhVete1TWvqb////9/fz+/v7///////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/v7+/v7+/v3////////////////////////////////////////+/v3+/v7+/v7+/v7///////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////+/v7+/f3+/f3+/fz+/fz+/fz+/fz+/fz+/fz+ + /f3+/f3///////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAgAAAAAABAAABABgAAAAAAADIAAAAAAAAAAAAAAAA + AAAAAAAA//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////v7+/v7+//////////////////////////////////////////////////////////// + /////////////////////////////////////////fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v39/v7+/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////v7+/////v7+/f38/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/////v7+ + /f39//////////////////////////////////////////////////////////////////////////// + ////////////////////////2MCn3Maw3Maw3Maw3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew + 3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Maw3Mex2cOs8uvk/v7+/f39/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+/f39////4tHA2sSs3Mex3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew + 3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mew3Mex3Mew3Mex2cKr9vHtqXQ9ikIAiUEAiUEAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAiUEAikMAgzgAq3hH/v39 + /fz8/v79/v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7+/fz8////49PCiUIBiUEAiUEA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAiUIAiUEAi0MAgzkA + nmMq+vj1/v39sYJUhz4AkU0Ej0oBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0oBj0oBkEwDhz0A1buh/////fz7/v7+/v7+/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v39/Pz8/Pr5pGw1iEAAkE0Dj0oBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sBj0sDjEYG49LC////////7OLWkU4PjEYBj0oBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAj0sBikQAmFod9fDq/v39/v39/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////7+/v7+/v7+/v7+/Pv6////za+QhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChjsAuo9l////+/n4+ff1//// + x6aFhDsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAkEwChTwAv5dw/////Pz7/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/f38/v798evik1IV + i0UBj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkoA + j0oBi0QBlVQX8+zl/f39/fz8/fz8/fz8+vbzoGYuiEAAj0sBjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjkoAjkkAjUkBjEgG6NvN/////fz8/v7+/v7+/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////7+/f7+/v7+/fz7////topehjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sChTwA0LWY/////Pv7/v7+/v///Pz7////3sq3iEABjkoC + jkkAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEsC + hz8Ap3I//fz7/fz8/v79/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v39/v///Pz7////3867iEAAjkoCjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEsChz8ApnE5/fz8/Pz7 + /v7+/v7+/v7+/v7+/Pv7////tIZYhjwAkEwBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0sChTwA0rec/////Pz7/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/v79/fz8 + +/r4oWgwiEAAj0sBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + j0kAjkkAjkoAjkkBikQF5dbG/////fz7/v7+/v7+/v7+/v7+/fz8/v7+8OffkU8QjEYBj0oAjkkAjkoA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAj0oBikMAllcb9O/p + /v39/f38/v7+/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/v7+/Pz7////yquLhTsAj0wCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChToAu5Nq/////Pz7//7+/v7+/v7+/v7+/v7+ + ///+/Pz7////y6yNhTsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAkEwBhTsAu5Rr/////Pz7/v7+/v7+/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz8/v7+7+bckU4PjEYBjkkBjkkA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjUkAj0oBi0QBllcb + 9e/p/v39/f38/v7+/v7+/////////v7+/v7+/v79/fz8+vj1oWgwiUEAj0sBjkgAjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkCi0QF5NXG/////fz8/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+//7+/f39 + /v7+/fz7////tIdZhjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkAj0sChj0A0rec/////Pz7/v7+/v7+/////v7+/v7+/////v7+/v7+/Pz7//// + 38y4ikIDj0oCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0sBhz8Ap3I8/Pv5/fz8/v39/v79/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////v7+/v7+/Pz7////3sm2iUIBj0oBjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEsCiD8AqHM+/fz7/Pz8/v7+/v7+/v7+ + /v7+/////////v7+/v7+/v7+/v7+/Pv7////topehTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAkEsChjwA0bWa/////Pv6/v7+/f39/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/f39/fz8+vj2n2UriUEA + j0sBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkoA + jkgBjEYG5tjJ/v7+/f37/v7+/v7+/////////////////////////v7+/v7+/f39/v398uriklETi0YB + j0oAjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oB + i0UAlVYZ8+3m/f79/f38/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/v7+/Pv6////yKeFhTsAkEwCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChjwAvpZv/////Pz7/v/+/v7+/v7+/v7+//////////////// + /v7+/v7+/v7+/v7+/Pz7////za6QhTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTwAuZBm/////Pv6/v7+/v7+/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v79/v7+/fz7/v7+7ePYkU4QjEcBjkkBjkkAj0oAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0QBmFof9e/p/f39/v39 + /v7+/v7+/////////////////////////////////v7+/v7+/v7+/fz8+/n3o2s1iUEAkEsBjkkAjkkA + jkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAjkkCikQD5NPD + /////Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v79/Pv7/v/+ + sIFShjwAkEwCjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAj0sChj0A1Lqg/////Pz7/v/+/v7+/////v7+/////////////////////////v7+/////v7+ + /v7+/fz7////4tHBikMEjkkCjkoAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0sBiEAApW43/Pv5/fz7/v39/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/////Pv6////2sawiD8Aj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEsChz8AqnhE/v79/Pz7/v7+/v7+/v7+/v7+//////// + /////////////////////////v7+/v7+/v7+/v7//fz7////uI1hhj0AkEwCjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0wChj0AzrCT/////Pv6/v7+ + /f39/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/v7+/f38/f389vLtm18jikMAj0oBjkkAjkkA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkoAjUgBjUgH6NzO + /v7+/fz8/v/+/v7+/////////////////////////////////////////////////v7+/v7+/f38/v39 + 8uvjlFUWi0UBj0oBjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0oAjkkAj0oBjEYBlFMW8enh/v79/fz7/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7//v7+//7+/f39 + /Pv6////t4thhjwAj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAkEwChTsAwJp0/////fz6/v7+/v7+/v7+/v7+//////////////////////////// + /////////////v7+/////v7+/v7//Pv7////zrGUhjwAj0wCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwChjwAt4xg/////Pv7/v7+/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7//v3+/Pr6////0bWYhj0Aj0sCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkkAjkkAj0sBi0MAmVsg9vHs/v39/f39/v7+/v7+//// + /////////////////////////////////////////////////v7+/v7+/v7+/v7+/f38/Pr4pW85iD8A + kEsCjUkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + jkoCikIC4tHA/////Pv7/v7+/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7++/r5////38y4i0UHjUgBjkoA + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0wC + hz4A1r6m/////Pz7/v7+/v7+/////v7+//////////////////////////////////////////////// + /////////v7+/v7+/fz8////49LCjEYFjkkCjkoAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBiEAAomoy+/n2/fz7/v39/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v7+/v7+ + /v7++/r5////5NTCj0wQi0UAj0oAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAkEwChz8ArHpI/v7+/fz7/f79/v7+/v7+/v7+//////////////////// + /////////////////////////////////////v7+/////v7+/v7+/Pz7////upBnhTwAkEwCjUgAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0wChToAyqyM + /////Pv6/v7+/v7+/////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/////v7+/v7+/v7+/f39/Pr5////4c+9kE0SikQAj0sBjkkAjkkAj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjUgCjkoJ6d3R/v7+/f38/v7+ + /v7+/////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v39/f399O3nl1gci0UBj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oAjkkAj0oAi0UBk1ET8Ofe/v39/fz7/v7+/v7+/////v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////////v7+//7+/v7+/Pv6/f38////1LuijkkLi0QA + j0sBjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChjwAwp14/////Pv6/v7//v7+/////v7+//////////////////////////////////////// + /////////////////////////////////v7+/v7+/Pv6////0baahj4AkEwCjkkAjkkAj0oAj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwBhTwAtYlc/////Pv6/v7+ + /v7+/v7+//////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/////v7+/v7+/v7+ + /v79+/v5////+/n1wJp1iEEAjUYAj0wBjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBikMAnWAn9/Lu/fz7/f39/v7+/v7+/v7+//////////// + /////////////////////////////////////////////////////////////v7+/v7+/v7+/v7+/Pz7 + /Pv5p3I9iD4AkEwCjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAj0oCiUEA3826/////Pv6/v7+/v7+/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/////////v7+/v7+/v79/Pv6/f3+////6dzPpW89hjwAj0oBj0oBjkkAjkkAj0oAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAj0sChz4A2MKq//// + /Pv6/v7+/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz7////5dbGi0UGjkkCjkoAjkkAj0kAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0sBiEAAoGct+vj1/fz7/v39/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/v7+/////////v7+/v7+/f39/fz7/fz8////+vj0xaOCjkkJhz8A + j0sBj0oAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAkEwChz0Arn1L/////Pv6/v7+/v7+/v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/////v39/v/+/Pv6////vZZuhjsA + kEwDjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUgA + j0wChDoAyKiI/////Pv6/v7+/v7+/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+///////////+/v7+/v7+/v79/Pv6 + /f38////////28ayn2cyhTwAjEcAj0sCjkkAj0oAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjUcCjkoK69/U/v7//fz7/v7+/v7+/////v7+ + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/f39/f399fDrl1kci0UBj0sBjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkoAjEUAkU4P7+bc/v79/fz7/v7+/v7+/////v7+//////// + /////////////////////////////////////////////////////////v7+/////v7+/v7+/////v7+ + /////v7+/v7+/v7+/fz8/Pv6/v7+////////4M68qnhHiD8AiUEAj0sCj0oAjkkAjkkAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkE0DhjwA + xaJ//////Pv7/////v7+/v7+/v7+//////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/Pv6////07qghz4Aj0wDjkkAjkkA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAkEwBhjwAsoRU + /v///Pv6/v7+/v7+/v7+/////////////////////////////v7+/////v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+///+/v7+/v7+/////v7+/v7+/v79/fz8/Pv6/fz8////////+/n32sSvqnZHikIAhz8AjkoA + j0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjUkAj0sCikMAnmMp+PXx/f38/f39/v7+/v7+//////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/Pz7/f38qXVBiEAAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAj0oBiD8A3cm0/////Pv6/////f39/v7+/v7+//////////////////// + /////////////////////////////v7+/////v7+/v7+/v7+/v39/fz7/Pv6/fz7/f7+//////////// + 7OHWyaiHn2UviD8Ahz4AjkkAj0sCjkkAjkkAjkoAjkoAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wDiEAA28Wv/////Pz7/v/+/v7+ + /////v7+//////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////v7+/v7+/fz7/v//6NrNjkkJjkkCj0kAjkkAjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBiUIAn2Ur+fb0/fz7/f39 + /v7+/v7+/////////////////////////v7+/v7+/v7+/v7+/f38/fv6/fz7/fz6/Pv6/fz8/fz8/v7/ + /////////////////Pz66dzPza6Qq3dGkE0Mhj0AikMAj0sCj0sCj0oAjkkAjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + kEwChz4AsIJS/v7//Pv7/v7+/v7+/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v7+/////Pv6 + ////v5lzhTwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkgAkEwBhDoAxqSC/////Pv6/v7+/v79/v7+/v7+/////////////////v7+/////v7+/v7+ + /////////////////////////////v788+3l5NTE07icuY5moWgvj0sIhz4AiUIAj0oAkE0FkU0Dj0sC + kEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsBkEsB + kEsBkEsBkEsBkEsBkEsBkEsBj0sBkEwCjEgBkE4O7eTa/v7+/fz8/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/f38/f389vHsmVsgikMBj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkkAjEYBkEwN7ePY/v7+/fz7/v7+/f39//// + /v7+/////////////v7+/v7+/f38/v//28ayxqSAy6uKxKF6vJNssoReqHNEmVwlkEwKhjwAgTQAgDQA + hDoAiEAAikMAiUIAiEEAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAA + iEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiEAAiUIAgjYAx6WD/////Pv6 + /v7+/v7+/////v7+//////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/////v7+/v7+/Pv7////1r2khz4A + j0sCjkkAjUkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + kEwBhjwAsYFR/////fz7/v79/v7+/v7+/////////////////v7+/v7+/v39/v7+4M27za+O0bWW0LOU + z7OV0LOZ0bac07mg1ryk2MCo2cKr2cKs2MGq2MCp18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co + 18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co18Co + 18Co18Co2MCo1r+n2MGq+vf0/v39/v79/v7+/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/v7+/Pv6/v39rHpIhz4Aj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0oBiUEA3May/////Pv6/////f39/v7+/v7+//////// + /v7+/////v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7//v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz7/v7+6d3RjUkJjUgBj0oAjkkA + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBikIAnWIn + +PXx/fz8/f39///+/v7+/////////////////v7+/////////v39/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz8/fz7+/n3+/n3+/n3+/n3+/n3+/n3 + +/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3+/n3/Pr4/fz7/fz8 + /fz8/v7+/////v7+/////v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v7+/Pv7////wZx2hDsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAkE0ChjwAxKF8/////Pv6/v7+/v7+/v7+/v7+/////v7+/////v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v///v7+/////v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/f39/f389/Ltm14iiUIAj0oBjkkAjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkoAjUgCkE0N7OHW/v7+/f38 + /v7+/v7+/////v7+//////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/f79/f39+vj20LSYzrCSz7GUzrGTz7GTz7GTz7GTz7GTz7GTz7GT + z7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTz7GTzrGTzrGTza+S0LSY+vj1/v7+/v79/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v7//Pz7 + ////2cKriD8Aj0sCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAkEwChz8Ar35O/v7+/fz8/v7+/v7+/v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/v7+/fz7////yaiIgDMAhz0A + hTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhTsAhjsAhTsAhDsAhz4A + fS0AtIdb/f38/Pz8///+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+/v7+/fz7/v//rn1Khz0Aj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sCiEAA2MGq/////Pz7/v///v7+/v7+ + /v7+/////////////////////////////////////////////////////////////////////v7+/v7+ + /v7+/v7+/f38/v797+bdkU8PjUkDkU4Fj0wDkEwDkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0DkE0D + kE0DkE0DkE0DkE0DkEwDkE0DkU4FjEcFmVwe9/Pu/v7+/v38/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7//fz7/v7+69/UjkoL + jUgBj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + j0sCikMAm18j+PXw/f39/f39/v7+/v7+/////v7+//////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/fz7////tIZYhj0AkEwCjkgAjkkAj0oAjkkAjkkA + jkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAjkkAj0oAjkkAjkkAj0sChj0A0rec/////Pv7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/v7+/////Pv6////xKF9hTsAkEwCjkkAjkkAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTsAw596/////Pz7/v7+/v7+/v7+//////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/fz7////3sq3 + iUIAjkoCj0kAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkA + jkkAj0wBiD8AqHM+/fz7/Pz7/v7+/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v3+/v39/fz8+PXxnWIpiUIAj0sBjkkA + jkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkoAjUgBjkoK + 6t7S/v7+/fz8/v7+/v7+/v7+/v7+//////////////////////////////////////////////////// + /////////v7+/v7+/f39/f38+vj1oGgviUEAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkgCjEYH5tjJ/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /v7+/v7+/Pv6////2cStiEAAj0oCjkkAjkkAj0kAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkgAkEwChz4ArHpH/f38/fz8/v7+/v7+/v7+//////////////////////// + /////////////////////////////////v7+/v7+/v7+/v7+/fz8////y6yNhTwAkEwCjkkAjkkAj0kA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTwAvZRs//// + /Pv7/////v7+/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/v7+/Pv7/v7+r4FQhz0AkEwBjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkgAj0kAkEsChz4A17+n/////Pz7 + /v7+/v7+/v7+/v7+/////////////////////////////////////////////////////v7+/v7+/f38 + /v798enfklISjEYBj0oBjkkAjkkAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAj0oBi0QAl1gb9O/p/fz8/v38/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/fz8 + /v7+7ePakE0NjEcBj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAjkkAj0sCikMBml0i9/Pu/f39/f39/v7+/v7+//////////////////////////////////// + /////////////v7+/v7+/v7+/v7+/Pz7////toldhj0AkEwCjkkAjkkAj0oAj0kAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjUkAjkkAj0sChTwA0baa/////Pv7/v7+/v7+/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/v7+//7+/Pv6////x6SDhTsAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjUgAjkkAkEwChTwAwZx1/////Pv7//7+/f39/v7+ + /v7+/////////////////////////////////////v7+/////v39/v7+/fz7////4M67ikICj0oCjkoA + jkgAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0sBiD8A + pnA8/Pv6/fz7/v7+/v7+/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v79/fz8+fbznmMq + iEEAj0sBj0kAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + jkoAjUkCjUgI59rM/////fz8//7+/f39/////v7+/////////////////////////////////////v7+ + /v7+/v39/f38+vj1oWgwiUEAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0kAjkkAj0kAjkkCi0QG5dXF/////fz7/v7//v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////v7+/v///Pz7////3cm1iEAAjkoCjkkAjUgAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChz8AqndD/fz7/fz7/v7+/v7+/v7+//////////// + /////////////////////v7+/v7+/v79/v7+/Pz7////y6uMhTwAkEwCjkkAjkkAjkoAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwChTsAu5Fn/////Pz7/v7//v7+ + //7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/v7+/v7+/Pz7////s4RVhjwAkEwCjkgA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAjkkAj0wChz4A + 1bui/////Pz7/v7+/f3+/v7+/v7+/////////////////////v7+/////f39/v7+/f38/v398Ojfk1ES + jUYBj0oBjkkAjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + j0oBi0UBllYa8+zl/fz9/v38/v7+/v7+/v////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7//f38/v797+XckE0OjEYAj0oAjUgAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAj0sBi0QBmVoe9vHr/f39/f39///+/f39/////v7+//////////////// + /////v7+/v7+/v7+/Pz7////tYldhj0AkEwCjkkAjkkAj0oAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0oAjUkAjkkAj0wChTsA0bWZ/////Pv6/v7+/v7+/v7+//7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/v7+/v7+/Pz7////yKiGhDoAkEwDjkkAjkkAj0oAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkgAjkkAkEwChjwAv5dw/////Pv6 + /v7+/v7+/v7+/////////////////v7+/v7+/v7+///+/fz7////4dC/ikMDj0oCjkkAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wCiD8ApW85/Pv5/fz7 + /v79/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/v39 + /fz8+/j1oGYtiUEAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAjkoAjkkCjEcG5tjK/////fv7//7+/v7+/v7+//7+/////////////v79/v7+/f39/fz8 + +/r4o2oziUAAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0oAjkkCi0UF5NTE/////fz8/v7+/v7+/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////v7+/v7+/fz7////3su4iUEBj0sCjkkAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjUkAkEwChz8AqHRA/f38/fz7/f39/v7+/v7+ + /v///////v7+/v7+/v7+/v/+/Pv7////za+RhTwAkEwCjkkAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkE0ChjwAu5Jo/////Pz7/v7+/v7+/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/fz7////tIdZ + hjwAkEwCjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkA + jkkAj0wChjwA0rec/////Pv6/v7+/f7+//7+/v7+/////v7+/v7+/f38/v7+8erilFITjEYBj0oBjkkA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0UAl1YZ + 8+3m/f39/f39/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/fz8/v398Offk1ISjEcBj0oAjUkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBi0QBl1ga9O7n/f38/f39/v7+/v7+/////v7+/v7+ + /v7+/Pv6////t4tfhjwAkEwCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0oAjkkAjkkAkEwChz4A0LWZ/////Pz7/v7//v7+/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+/v7+/Pv7////zK2Ohj0AkEwDjkkA + jkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAjkgAkEwChjwA + u5Nq/////Pv6/v7+/v7+/v7+/v7+/v7+/Pz7////4dC+ikMCj0oCjkkAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0wCiEAAp3E7/Pv5/fz7/v79/v7//v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/////v7+/fz7+/j2o2sziUEAj0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkAjkkAjkoAjkkCjEcG5dbH/////Pz7/v7+/v7+/v7+/v39/fz8+/n3pG00iUEA + j0sBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0kA + jkkCikQE49PC/v7//fz8/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////4c+9iUICj0oCj0kAjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBiEAAp3E7/Pv5/fz8 + /v79/v7+/v7+/Pv6////zK+Qhj0AkEwCjkkAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkgAkE0ChTwAuY9j/////Pv6/v7+/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/v7+/v7+ + /Pv6////t4xghjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAjkkAjkkAjkkAkEwChj4Az7OX/////Pv7/v7+/f38/f398erilFQVi0YBj0oBjkkAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjkkAj0oBi0UBlVUW8+zl/v39/f39 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/f38/v7+8+zllFQVi0UBj0oAjkkAjkkAjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAj0sBi0UAlVUX8uzk/v39/fz8/Pz7//// + t4xhhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oA + jkgAjkkAj0wChjwA0LOX/////fz7/////v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v///fv7////zrGU + hjwAj0wCjkkAjUkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChTwAuI5k////+/r5////4tHAiUIDjkoCj0oAjUkAjkoAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAj0wCiUAApW84/Pv6/f38/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v///v7+/f38+/r4pG02iEAAj0wBjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0kAjkoCikMD4tC//v79+vj1pG02hz8AkEsBjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkkCi0QF49TD + /////fz8//7//v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/////fz8////49TEi0UFjkkCj0oA + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sBiEAA + oWkx////zrGThTsAj0sCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkgAkEwChj0AupBl/////fz8/v///v7+/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v7+/v/+/fz8////uZBkhj0AkE0CjkgAjUkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAjkkAjkkAj0sAiEAAwZ12m18iikIAj0oBjkkAjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oAjEYBlVYX8uzl/v79/v39/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/f39/v398+zmllYXjEYBj0oBjkkAjkkAjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkAjkkAjkkAjkkAikMAjEYAjkkA + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjkgAjkkAkEwC + hj0Az7SX/////fz7//7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//7+ + /fz7////0bWZhz0Aj0wCjkkAjUgAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0oBjkoAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAjkkAjkkAj0wCiEAApW86/Pv5/fz8/v7+//7+/v7+//7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+//7+/v7+/fz8/fz7p3I+iD8Aj0wCjkkAjkkAjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAjkkAj0kCikQF49PD/////Pz8//7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+//7+/fz8////5dbH + jEYHjkoCj0oAjkkAj0kAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oA + jkkAjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAkEwChj0AuI1i/////fv8/v/+/v7+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/v7+/v///fz7////vJRqhjwAkEwCjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkAjUkAj0oBjEUBlFQW8uri/v7+/f39/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/f39/f399O7ol1kci0QBj0sB + jkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjUgAjkkAj0wChj0AzbCT//// + /Pz8/v7//v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/Pz7////07mfhj0Aj0wCjkkAjUgAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjkkAjkkAkEwCiEAAomw0/Pr4/f39/v7+/v7+/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////v7+/v7+/fz8/fz8qHNAhz8AkEwCjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0kAjkkAj0kAjkkCiUIC4dC+/////fz7/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz8////5tjJi0YFjUgCj0oAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgAkEwChTwA + t4tf/////fz7/v7+/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/v7+/fz7////vZZuhTsAkE0CjkkAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjkkAjkkAj0oBi0YBlFMT8eri/v7+/f38/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v39/f399vHs + mVseikQAkEsBjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkgAjkkAkEwChj0Aza+Q/////Pv6/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/Pz7////1Luhhz4AkEwCjkkAjkkAj0oAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkA + j0sAiEAAo2w0/Pr4/fz8/f39/v7+/v7+/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/v7+/v79/fz7/f38qndDhz8AkEsB + jkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAjkkAjkkAjkkAjkkBi0QD4c+9/////Pz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/fz7/v7+6NvNjUkIjUgBj0kAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEwBhTsAt4xf/////Pv6 + /v7+/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/Pv6////wZt2hTsAkEwBjkkAjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jkkAjkkAj0oAi0UAlFIT8eri/v39/fz8/v7+/f39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/v7+ + /f38/fz89vHtmVsfikMAj0sAjkkAjkkAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAkEsChDoAy6uN/////Pv6/v7+/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/f3+/v7+/Pv7////1r6lhj0Aj0oBjkkAjUkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkAj0sAiEAAoWkx + +/n3/fz8/f39/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/v39/fz7/v7+ + rXtJhj0AkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oBjkkAj0oBjkoCiEEA4M68/////fz7/v7+/v39/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////f39/v7+/fz7/v7+69/SjkgJi0UAjkgAjUcAjUgAjUgAjUgAjUgAjUgAjUgAjUgA + jUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUgAjUcAjUcAjkoAhDkAtYlb/////Pz6/f7+/v7+/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/v39/v7+/Pz7////xKF9jEcSlVQW + k1IUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUlFIUk1IUlFMV + kU8TmVoj8ejg/v39/fz7/v7//f39/v////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v///f39/f38/Pv67+bd8Ofe8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off8Off + 8Off8Off8Off8Off8Off8Off8Off8Off7uXd9O7o/////f39/v7+/v7+/v7+//7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v////7+/v7+/v7+/v7+//////////////////////// + /////////////////////////////////////////////////////////////////////////v39/v7+ + ///+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////7+/v////// + /////v7+/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v79/////////v7+/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+ + /v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/////v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAEAAAACAAABABgAAAAAAAAgAwAAAAAAAAAAAAAA + AAAAAAAA//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////v7+/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v79/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////9/Lt9/Pu + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Pt/v7+/v79/v7+/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v79/v799/Ls9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt + 9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Lt9/Pt9/Lt/v39pm80omkso2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2svnmMrzrGR/////fz7//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/fz8//// + 1bygnGAqo2svo2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2oto2ot + o2oto2oto2oto2oto2oto2oto2svnWEruY9i/fz8wJpwkUwEiUIAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0UAiUAAlVQT7uTZ + /v39/fz8/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f38/v7+9O3nmFkViD8Ai0UAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QAi0QA + i0QAi0QAikMAi0MA3sq1/v7+/fz8wJhviD8AkU0Fj0sCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkU0EiD8AuItb/////f38/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7////vZNniD8AkU0EkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsC + kEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCkEsCj0sCkU4EiUAAuY9h + /////Pn4/v7+9e/pnF8ei0UAj0oBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0MA3cix/////fz7//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////Pz7////49G/j0oHjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEYBl1cU8urj/v39/fv6+vf0//// + 1LqfikIAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoAj0sBikIAoWcq9vLt/fz7/v39/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /f38+/n3p3A0iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEAzrCQ/////fz7/v7+/fz7/fz7+/n3q3hBiUAAkEsC + j0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiEAAyKaB/////fz7/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/Pz7////z7GRiUEAkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oBikIApnA0/fz7/v39/v7+/////////f38////6NrMkEwHjUgBjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoA + jUgBlFIO7uTa/////f38//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz8/v398OfellYTjEYBj0oBj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgB + jUYA4tG+/////fz7/////v7+/v7+/////fz8////wJpvhz4Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsCiD8As4RR/fz7 + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v38////uY9ghz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8Au5Fk/////f38/v7+ + /v7+/////////v7+/fz8/v389e/pnmMmi0MBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCi0QB3Mav/////fz8/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/Pz8////4tG+jUgCjkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0UAmFkW9e/o/v7+/f38//////////////////// + /////fv6////17+miUEAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikMAoWgp+vfz/v7+/v79//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f39/fz8+/j2pW4z + iUAAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAj0oBiUEA0ria/////fz8/v7+/v7+/////////////////v7+/v39/v39/v/+ + sH9LiEAAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoAj0sCiD4Ax6Z//////fv6/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////7+/v7//fz8////yqqHiD8Aj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0sCiUIAqXU7/fz7/v39/v39/////////////////////////////v7+/fz7/v7+6t3PkU4NjkgCjkoB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0oAjUcBkU0N7ODU/////f39/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v///f38/v7+7+bdlVMOjEYBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkBjUgB5dXG//// + /f38/////v7+//////////////////////////////7//fz7////w551iD4AkEwCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sB + hz4Ar35J/v39/fz8/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v39/fz7////tolYhz4Aj0sDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBiEAAvZZq/////f37/v7+/v7+//////// + /////////////////////v7+/////f39/v7+9vHsnmMki0QAj0sAj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oCi0QB2cKo//// + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz8//// + 3su3jUcDjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBmlsZ9O7n/v79/f38//////////////////////////////// + /////////v7+/v7+/fz6////2cGpikIBj0oDjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBi0MAn2Qn+PTw/v79/f38/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f39/fz8+vf0omosiUEAj0oBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sCiD8A0reZ/////fz7/////v7+//////////////////////////////////////////// + /v7+/fz7/Pv6sH9KiD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0Aw594/////fz7//7///////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/Pz7////yqmGiUAAj0sCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUEAq3hA + /Pz6/f38/v39//7+/////////////////////////////////////////////v7+/////f37////7OLW + k1EOjUcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkoBjUcCklAO6t7Q/v7+/fz7/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////f39//7/7ePYk1ENjUcAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUcBj0sG6NrL/////fz8/v///v7+ + /////////////////////////////////////////////////v7+/v7+/fz7////xqR+hz4Aj0sCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEsBiUEAsIFN/v79/v39/v3+/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v79 + /Pz7/v7+s4RQiEAAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBhz4AwZty/////fz8/v7///7+//////////////////// + /////////////////////////////////////v7//v39/v399/PuoWgrikIAj0oBj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iEAA176j/////fz7//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/fz8////2sSti0QBjkoC + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0kAj0sBi0QAm14d9vHr/v79/f39//////////////////////////////////////////// + ///////////////////////+/////fz8////3MawikMBj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCi0QBnGAi9O7n/v38 + /fz8/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////f39/v39+fbzoGcoikIAj0sBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iUEA1buf/////fz8/v7+/v7+//////////////////////////////////////////////////////// + /////////v7+/f79/fz8/f39soNPhz4Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz0AwZxz/////f38/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/Pz7////x6V/iD8AkEwBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wBiEAArHpD/v7+/v38/v7+ + /////////////////////////////////////////////////////////////////////////////v7+ + /f38/v7+69/SlFIPjUcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkgBkEwG6dvN/////fz8//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////Pz7/v397ODUlFMRjUcCj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBkE0I6NvM//7+/fz8/////v7+//////////// + /////////////////////////////////////////////////////////////////////fz7////yKaB + hz0AkEwDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sCiUEArXtG/Pv5/fz7/v39/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v///f38////sH9K + hz8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0wChz8AwJlv/////f38/v7+/v7+//////////////////////////////// + /////////////////////////////////////////////v7+/v7+/f39/f389/Puomgti0MAj0sCj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0sDiD8A1r2i/////fz7/////v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/f38////18ClikMAj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0oBi0QAnmIj9vHs/v39/v39//////////////////////////////////////////////////////// + /////////////////////////////////////v7+/fz8////3sq0jEYAjkoCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAi0UA + nWAf9vHs/v7+/v79//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/f38/f389vHsn2Qli0QBj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCikIA2MGo//// + /fz7/////v7+//////////////////////////////////////////////////////////////////// + /////////////////////////////fz8////tYhWhz4Aj0wBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiD8AwJpw/v7+/fz7 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////+/////fz7////xKF6hz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wBiEAAsH9L/////f38/v79/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////fz7/v797uXblVQVjEYBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkCjkkG59jJ/////f38/////v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v///f38//// + 6t3PkU4IjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgBkU4J6t7Q/v7+/fz8//////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz7////yqqGiEAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUEAqnY9/Pr4/v39/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////+/v39/fz7/fz7r39KiUEAj0sCj0kA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEwChz0Aw553/////fz8/v7+/v7+//////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f39/v79+/n3omor + ikEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkoAj0sCiEAA0raY/////fz6/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7//fz7////1ryiiUIAj0oCjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikMBnmMm + +PTw/v39/f39//////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/fz7////38u2i0QEjkoDjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0kAj0sBjEUAmVwb9e/p/v7+/f38//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////f38/v7+9vHsnF8eikMAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA2MCl/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/fz8/v7+t4pZiD8AkEwCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz4A + vpVq/////fz7/v/+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /Pz7////wJpwhz0Aj0wDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAAr39J/v7+/v39/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////f39////8urillcTjEYAj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUgCjkgE5dXE/////fz7 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////fz8////59nLkEsHjUgB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoBjEcBk1AN7OLW/v///fz7//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/Pz7////za6OiEAAj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBiUEAqnY8/f38/v39/v3+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////f39/fz8/fz7rHlCiUEAkEsBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iD8AyKaB/////fz7/v///v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v79 + /fz7+fXypW0xiUEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEA0bWX/////fz8/////v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/fz7////z7OTikIAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBikMAn2Yl+vf0/v7+/f39 + //7///////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/////fz7////4tG+jEYC + jkoBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oBjEUCl1gY8+vk/v79/fz7//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////f38////7eLWlFEOjEcBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkoBi0QA28av/////fz7/v7//v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v79/fz7/v7+uY5fiEAAj0wCjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEsCiD8Auo9h/////fz8/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/v79/fz8+/r4rHlE + iUEAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBiD8As4RR/f39/v39/v7+///+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7//f38/v7+7+fdl1cUjEYBjkoAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBjkgB + 4tC+/////f38/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v///v7+/Pz7////wp51hz4Aj0sCj0kAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjUcBk1EN7+Xb/////f39/////v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////fz8////z7GRhz4Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAp3E4/Pv5/v38/v39 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+//7+/fz7////3ciwjEUAjkkBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0Ax6WA//// + /fz7/v7+/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/f39/fz7+vj1qHI4iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAkEsCiD8Az7GR/////f38/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/////fv7////7OHUlVQWjEYBj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikMAomks+PPv/v39/v79//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/fz7 + ////5NPBj0oGjkgBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBjEYAl1gU8uri/v7+/fz8//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7//f38////8uvj + n2QoiUEAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oCi0QB38u2/////fz7/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////f38////u5Jlhz0A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBiD8AupBi/////fz8/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////fz8/v7/+PTvq3dAiD8AkEwBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0wCiEAAt4pa/v7+/f38/v79/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/fz8/v398erimVwcjEUBj0sBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkBjUgE4M66/////fz7/////v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/////fz8////+vj1rHpFiD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjUcBlVQR + 7+bd/v7+/f39//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/fz7////0LSUiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikIAo2sv + +/n4/v39/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v39////+/n2tYhXhz4Aj0wDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChj0AyquI/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/fz8/fz7qHM5iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4Ay6uJ/////fz7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+///+/v7+/fz7////+vf0 + rXtIikIAj0sDj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sBikIAo2wx+PXx/f38/f38/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////Pz7////4tLAjkgHjUgCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBllYS8Oje/v7+/f38//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////fv7////9/Puq3hChz4Aj0sBj0oAj0kA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkoBi0UA4M24/////fz7//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/Pz6 + ////vpZqiD4Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AuItc/////fz8/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////7+/////v7+/fz7////7+XaomoxiEAAkEwDj0oAjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwC + hz4AtolZ/////fz8/v3+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////f39/v7+9vHsnGAdi0MA + j0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAjkkCjEYB38y3/////fz8/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /v///v39/Pz7////38y3mFkciUAAkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEYDllYX7+bc/v7+/f38 + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/fz7////1LqeiUEBj0sDjkoAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoA + j0sBikIApGww+vj1/v39/f39/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////////Pv6////////y6yJ + j0sEikMAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiD8Azq+O/////fz7//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v39/fz7/Pr5qnY9iD8Aj0wCj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AzK2M + /////Pz7/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/////v7+/fz7////8+zks4NTiUEAjUkAkEsCjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAkEsBiUEApnA0/fv6/v39/f79/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v///f38////5tjJkUwIjkgAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYBlFIP7uTa/v7+/f38//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/////v7+/fz7////////3Mixm14hiEAAj0sCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjkkCjkkG4c+7/////fz7/v7+/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //7+/v7+/fz7////v5lviD8Aj0sDjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUAAtIZV/////v39/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+///+/v39 + /fz8////+PTvvpZujUgDikQAkEwDj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4AuI1d//// + /fz7/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////7+/f38/f38 + 9O7nm10ci0QAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA3ciy/////fz8/////v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////v7+/fz7////////28aunmImhz4A + jkkAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYAl1gW8+vk///+/f38/////v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7//Pz7////1LqdikIAj0sB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0oBikMAoWgp+fby/f39/f39//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/////v7+/fz7/v//////8OjdtolbjEUAikMAkEwCj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAzrGR/////fz7/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v39/fz7/f38rn1HiD8Aj0sCj0kAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0sBiD8AyKiE/////fz8/v7+/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////f38////////+/j2y62LlVQSiD8AjkoBj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0oBiUEApW4z+vj1/v39/v39//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/Pz7/v7+6d3Qkk8LjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUcBkk8J7eTZ + /v7+/f38/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////v7+/f38/f39/////Pr4 + 2sSsomktiD8AjEcAkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAjkkAjkgD + 49PB/////fz8/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f38////w552hz4Aj0wBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD4As4VS/////f39/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/////f38/v7+////////38y3qXU+iUEAikMAkEsCj0sB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz4AvJNm/////fz7/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////f39/f389vHrnGAgikMAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBjEYA3Mex/////fz7/v7+/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////////v39/fz8/v7/////////4tC9rntHjUgCiUIAkEsCj0sBj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oBjEUBmVsZ9O7m/v7+/f38//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/Pz7//// + 2MCnikMAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0oAi0MAnmMj+ffz/v39/f38//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v7+/v7+/v39/fv6//// + /////fz82MGnrXtIjUYAiUEAjkkAkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sCikEA0bWX/////fz7/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f39////r35IiUAAj0wC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiEAAxKF6/////fz8/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////v7+/f38/fz6/v7/////////8uvj0bWXomktjEUAiD4A + j0oBkEsBj0oAjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsC + iUEAqHQ7+/j2/fz8/v39/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////fz7/v7+6NvNkEwIjUgBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jUgBkk8K7ODV/////fz7/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////v7+/v7+/v7+/v39/v39/////////f3859jKvZVqnF8hiD8Ai0QAj0oAkEwEj0oAjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgBjkkE5dXE/////fz7 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/Pz7////w551iD4Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAsIBL//// + /f38/v7+///+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/////v7+/fz8/fz6//////// + ////////69/T0baYqndBjkgAiUAAi0QAkEwDj0sBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AvZRo/////fz7/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f39+vbzn2UlikMAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCi0QA2sOq/////fz7/v7//v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////v7+/v7+/v79/v38/v38/f38/v///////////v398Ojf0bWXsYBNlVUShz0A + ikIAjkkAkEwCj0sCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oBi0UBmlsc8eri/v39/fz8/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////Pz7////28avi0MBj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikMAnmIj+PXx/v39/f38///+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v79/f38 + /fz7/fz6/v7+/////////////////Pr55dXDyaqHr31Lkk8HikMAiUEAjUYAkEwDj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAj0oBiUEA1Lqd/////fv6//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/f79/fz7/f38 + sYJOiEAAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AxKB5/////fz8/v///v7+//////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////v7+/v39 + /v39/v39/v39/v39/v39/v38/v38/fz8/fz8/f38/f38/v38/v38/v39////////////////////9vDq + 6d3P0baYtIZVn2Unkk8HhjsAiUAAjkgAj0sBkEsCj0sBj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUAArHpD/f38 + /v39/v39/v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////fz8////7OHWkk8KjUcAjkoA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAjUgBkU4J6NrM/////fz8//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////9O3l49PB1Lqew552soNRnmIhikIAikIAiUEAikIA + jUgAkE0EkEwCj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoBjUgCj0wK59nK/////fz7/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////xqR+hz4AkEwCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iUEArnxG/v7+/f38/f39/v7+//////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz6+PXv+fXy+fXy+fXy+fbz9vDr8Oje8Oje6dzO + 5NXE2MCmzbCPv5dusIBMn2UnmlwZk1EJjEUAhz0AiUEAjUcAkEwEkE0EkU0EkU0EkEwDj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sCj0sC + j0sCj0sCj0sCj0sCj0sCj0sCj0sBkE0Ehz4Av5ht/v7+/fz7/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////+/f39/f389/PuoGYnikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAA1r2i//// + /Pz7/////v7+//////////////////////////////////////////////////////////////////// + /////////////////fz7////4M25l1YeoGYnn2MknmMkn2QmmVsYkUwEkU0FhTkAgzcAhDgAhDkAhDkA + hToAhToAhz0AiEAAikIAi0UAi0QAikIAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEAiUEA + iUEAiUEAikIAhz0Am1wc9O7o/v7+/f39/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+//7//f38////2sSsi0QAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0UBnWEg9fDr/v39/f39//////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////6NrMtIZYupFjuY9huo9huY9gupBjvJNnvJNnvpdsv5dtv5dtv5dsvpdsvpdsvpdsvpZrvpZr + vpVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVq + vZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvZVqvpdsuI1g + 4M24/////fz8/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////+ + /v7+/fz7////tIZUiD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8AwZxy/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz7/v397ePY + llURjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkgBkEsF6NrN/v7+/fz8/////v7+//////////////////////////// + /////////////////////////////////////////////////v7+/////v79/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7 + /fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/fz7/v39/v7+/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/Pv7////yaiEiD8Aj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEsCiUEArXpD/v7//f39/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////f39/v38+vf0oWgrikIAj0sBj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oB + ikMA1bqf/////fz7/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz7////3MiyjEYBjkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0QAmlwa9O7n/v39 + /f38/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/f39////tIdViD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD4Avpds/////f38/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /fz8/v7+7+XblFIOjEYBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgBjkoD5dbF/v7//fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////v7+/v38/v39 + /v38/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39/v39 + /v39/v39/v39/v39/v39/v39/////////v////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz8////y6uI + iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBiUEAq3c//fz7/v38/f79//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////f39/v39/Pv6pGwuikEAj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sCikIA1Lqd/////fz7/v///v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7++fbzqXY9nmImoGYnoGUnoGUnoGUnoGUnoGUnoGUnoGUn + oGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUn + oGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnoGUnn2UnoGUnnmMm4c+8//// + /fz8//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/////fz7////4tC9jUgEjkkCjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0QA + mVsZ8+zl/v38/fz8//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/fz7////xaJ8hToAi0QAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIA + ikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAikIAi0QAhDoAqHI6+/n3/v39/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/fz8////uIxciUAAkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8AvpZs/////fz7 + /v7+//7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz7/v7+ + 7ODUk1EPjUcCkEwDj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sBj0sB + j0sBj0sBj0sBj0sBj0sBj0sCkEsCjkkDkk4L6t7Q/////fz7//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////f39/v7+8enhllYQjUYAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkkE49PB/////fz8/v///v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/f38////soJOiEAAj0sBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0wBiD8Awp10/////fz8/v7+/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//// + /Pz7////za+OikEAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sDiEAAp3I3/Pr4/f38/v39/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/Pz7////2cOri0QAj0oBjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0UAnWAf + 9vHs/v79/fz8//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/f39/f38+/n3pm8z + iUEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0oCikIA0LOU/////fz8/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/f38/f38+PPvoGcqi0QBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCiUEA1r2i/////fz7/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////fz7////4tC9jkkDjkkBjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAi0YAl1gT8+3l/v7+/f39//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////x6V/iD8AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiEAArXtF/f38/f38/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/fz8////vJJmiD4AkEwCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiEAA + upFj/////fz8/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f38/v7+6t7RklALjUcB + jkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0kAjkgBkU0I6NrM/////f38/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7//fz8/v798eril1kVi0QAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgBj0oG5NPC/////fz7 + /////v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v79/f38/f38soNQiUEAj0sCj0kAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsC + hz4AwZty/////fz8/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////+/v///f37////0bWXiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApm8z/fz6/f38/f39//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/////fz7////3MexikMAj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0MBnGEj9vLt/v39/f38 + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////f39 + /f38/Pr4qHM6iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oCiUEAz7KS/////fz7/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v39/f38+PXxomotikIAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUIA1r2i/////fz7/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz7////49PBjUgC + jkkBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjEYBllYU8ejf/v79/f38/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/v7+/fz7////y6yJ + hz8Aj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAkEsBiD8ArXpD/fz7/v38/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/fz8////vJNmhz8Aj0sBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEsChz4At4ta/////fz8/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////f39////7ePZlFIPjEYAj0oAj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkoAjUgCkEwL6dzO/////fz7//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////fz8/v398+vkmFoXi0UAj0oBj0kAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkkBjUcD + 38y3/////fz7/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/fz7/f38tYdVhz8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AwZtx//// + /fz8/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v7+/fz8////0reaikIAjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApGww+/j2/v38/f39 + /////v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/v7+/fz6////3su1jEUEjkoCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0QAnGAf9fDq/v79/f39//7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v79/v39/f39q3c+iUEAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiD8AzKyK/////Pz7/v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v/+/f39/v79 + +fb0o2otikMAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCikIA07eb/////fz7/v7+/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/////fz8 + /v7/59fIjkoEjUkBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBi0YBl1cV7+bc/f39/fz7/v7+/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+//7//fv7////yqmGiD8AkEwCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAj0sBiEAAqXU7/Pv6/f38/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz8////v5dtiD4A + kEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBiD8Atotb/////fz7/v7+///+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////7+/fz8/v7+7uTalVQUjUcCj0oBj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkCj0oK + 5tbG/////fz8/////v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////f39/v399O7om10ci0UBj0oBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAj0oBjUcB4M25/////f38/v7///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/////f38////tolXiD8AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD4Avpdr/////fz7/v39/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/////fz8////07ibiUAAkEsBjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCikIAomos + +PTw/fz8/f39/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7////3ciyikMAj0oCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAi0UAmlsY9O7n/v7+/v39/v////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/f39/f38/v79q3c/iUAAj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwChz4AyaiF/////fz7//// + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/f39/f38+fXxomoviUEA + kEwCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0sCiUAA07mc/////fz7//////7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////fz8////6NvMkEwHjUgBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjUcAk1EL7uTa/////f39//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////f38////y6uJhz8Aj0sBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sB + iUAAq3dA/Pr4/fz7/f39/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v///fz7 + ////wpxziD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8AtIZU/v39/fz7/v39/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////f38/v7+7uPYlFMPjUcBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkgBj0oC5dbG/////fz7 + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////+/fz8/v399/LunGAfi0MA + j0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0kBjEUC3cm0/////fz7/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v79/f38/v7+tYhYiD8AkEsCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz0AvpZr/////fz8/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v///fz7////17+likMAj0oBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + j0oBikMAomgq+vf0/f39/v7+//////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////Pz7////4M24 + i0UAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0sBi0QBm10f8+3m/f38/fz7/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////7+/v79/f39////rnxGiUAAkEsCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiEAAyKWB + /////Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v79/f38+PTxomkti0MAj0sBjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEwBiUEA0rea/////fz7/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7//fz7////6t3QkE0IjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjUcBkk8M69/T/v7+/fz7//// + /v7+//////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/fz7////y6yKhz4Aj0sCjkoAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUAAqnU9/Pz7 + /v38/v39/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/v7+/fz7////wZtyhz8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiEAAsoJP/////f38/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////f38/v7+8enhllYSjUcBj0oBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUgCj0sJ5dbG//7+/Pz7/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////f38/v79 + +PTwnGAfi0QAj0sAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAjkoCi0QA28St/////Pz7/v7+/v7+//////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/f38 + ////uI1diD8AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBhz8AvpZq/////fz7/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/fz7////2sSsi0UAj0oB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0kAj0sCikMAnmQl9/Lt/f38/f39/////v7+//////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/fz7////4tC+jUcCjkkBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0oBi0QAmVsZ9O3m/v79/f38/////v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/f38////sYFMiD8Aj0sBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + kEwChz4AxaJ8/////fz7/v7+//////////////////////////////////////////////////////// + ///////////////////////////////////+/f39/f39+/n3pGwwikEAj0sBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sCiUAA + 07mb/////Pz7/v7+/v7+//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////fz7/v7+7OHUkU0HjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjUcBk1AO6+DU + /v7+/Pz7/v7+/v7+//////////////////////////////////////////////////////////////// + /////////////v7+/v///f38////za+OiD8Aj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsCiUEAq3c+/fz7/fz8/f79//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/v7+/fz8////xqR/iD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz4AsIBM/v79/fz7/v7+//// + //////////////////////////////////////////////////////////////////////////////7/ + /fz8/v7+8erillYSjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkBjkkF5tfH/////fz8/////v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////f39/f39+PXwn2Qli0MAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBikMA2cKp/////fz8/v7///////////////// + /////////////////////////////////////////////////////////v7+/v7+/fz8////uI1fiD8A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0wDhz4AvpVq/////Pz7/v7+/v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/////fz8//// + 2sWtikEAj0oBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oBi0MAnWAg9vDq/f38/f38/v7+//////////////////////////// + /////////////////////////////////////////////fz7////4tC9jUcAjkkBjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jEQAm10b9O/p/v7+/f38//////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7+/v7+/v39/v7+soJPiUAAkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sDhz8Aw552/////fz7/v7+//7+//////////////////////////////////////// + /////////////////////v7+/f39/f38/Pr4pW8yikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUAA07ib/////fz7 + /v7//v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////f38/v7+7OHWklAMjUcBj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + jUgAklAK6dzO/////f38/v////////////////////////////////////////////////////////// + /v7+/////fz7////za+OiUEAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sCiEAAqXY9+/n3/fz7/v39///+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/////fz8////yamFiD8Aj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0wCiEAArXpD/Pv6 + /fz6/v39/v7+/////////////////////////////////////////////////////////f39/v7+8eng + lVMPjEYAj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkkBkEwF5tjJ/////f38/v///v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v7+/f39/v39+fXyomkrikMAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0sDikMC17+l/////fz7/////v7+ + /////////////////////////////////////////////v7+/v7+/f38////uI1diEAAkEsDjkkAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkAkEwBiD8Au5Jl/////fz8/v7+//7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////fz8////3ciyi0QAjkoCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBi0QAnmIi9vLt/v7+/v7+//////////////////// + /////////////////////////v7+/////fz8////4tC9jkgEjkkBj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBmFoX8uvj + /v39/fz8/////v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v7+/fz8//// + tYdViD8AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0wDhz4AwZtx/////fz7/v7+/v7+//////////////////////////// + /////////////v7+/v39/Pr4pG0vikMAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiEAAz7KT/////fz7/v7+/v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////fz7/v7+7uTalVQQjEYBj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oBjUgCkU4N59jI/////fz8/////v7+/////////////////////////////v7+/v7+/fz8 + ////za6NiUAAj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUEApm8z/Pv5/v39/f39//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/v7+/fz7////yaiDhz4Aj0sCjkkAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sB + iUAAqnY9/fz8/f38/v7+/////////////////////////////v7+/////f38/v398enhllcVi0UBj0oB + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkgBjkkD5NTD/////fz8/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////f39/v39+/j2oWgqikIAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiUIA07mb//// + /fz7/v7+/////////////////////////////v7+/f38////t4tahz8AkEsBjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiD8A + upFj/////fz8/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/fz7////4M67jEYDjkkCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBi0QBm18g8+3l/v39/f38/v7+/v7+ + /////////////v7+/v7+/Pz7////5NTEjkkEjUkCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAj0oAjEUAllcT8+vk/v39/f38//// + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/fz8////uIxciD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsChz0Avpdr/////fz7//////////////////////// + /f39/fz8+/n3p3E4iUEAj0sCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBiUAA0LSV/////fz7/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////fz8/v7+8Ojf + llYSjEcBj0oAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAjkgBkEwI5dfG/////fz7/v7+/////////////v7+/fz7////0LSWiEAA + kEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkkAj0sBikIAp3A1/Pr5/v39/v39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v7+/fz7////za2Mhz8AkEsCjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0kAj0sBiEEArHlC+/r4/fz8/v39/v7+/v7+/v7+/f38/v398+zkmVoZi0UBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + jkkBjUcA49LA/////f38/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v38/f39+/n3pG0yikEAj0sCjkoAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sC + iD8A0ria/////fz7//////7+/v7+/fz7////u5Jlhz0Aj0wDjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8Au5Jk/////f38 + /v7+/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/////f38////38y3jUcAjkoBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEUBmlsb8eng/v79 + /f38/////f38////5NTDjkkEjkkBjkkAj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oBjEUBl1gV8uvk/v79/f38//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////v7+/v7+/fz8////t4xchz4AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wCiD4Au5Jm/////fz7/f39/fz8+/n3 + qXQ6iUIAj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8A0LOU/////fz8/////v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /fz7/v7+8engllYWjEYBj0oBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkgD5NTD/////Pr5////0bSXiEAAj0sDjkoAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0kAj0sCikIAp3E3/Pr4/v39/v39/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v7+/////fz8////0baX + iUAAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0kAj0sBiUAApnE2+fbz/f388uvjl1cTi0UAj0oAj0kAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkBjkgE5NTD + /////fz8/v////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////v7+/v3+/v39/Pv5p3I4iUEAkEsBjkkA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkoAj0sCiUAAz7GT////upFjiD8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwCiD8Au5Fj/////fz8/v7///7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////fz7////4tG/jUcDjkkCjkoAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0oAi0MA + nWEh1r2ikE0KjkgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEYBl1gX8urj/v7+/f38///+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v/+/Pz7////u5FkiD8AkEwBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAjkkAkU4FjUcAj0oA + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sCiEAA0bWW/////fz7/v7+/v7+//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////f38/v7+8+zlmFkZjEYBj0sBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkgAj0oAjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBikIA + qHI4/Pv5/v39/v7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v7+ + /fz6////0LOTiD8AkEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kCjUcF49G//////f38//// + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v39+/r3qnY+ + iUEAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sChz4Au5Nm/v///fz8/v7+/v7+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/////f38////5tfIjkkIjkkCj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAjkoAj0oAjEYAl1cU8+zl/v7+/v39//////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/v7+/fz7////v5huhz4Aj0sCjkkAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kA + kEsChz8Az7KS/////fz7/////v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v79/v7+9O7pmlwZi0UAj0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAkEsCikEApnA3+vf0/fz7 + /v39/v7+//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////v7+/////fz7////07ibiD8AkEsDj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkoBjEUA38y3/////fz7//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/v39 + /fz7+/n3q3hBiUEAkEsCj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAjkkAj0wChz4AuY1f/////f38/v7+/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////fz8////59jIj0oD + jkkBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oBjEYCl1YV7+Xb/v39/fz7/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////v7+/v7+/f37////vpdthz0Aj0wCj0kAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBhz4Ay6uJ + /////fz8//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////v7+/fz8/v399O/om18hi0QBj0oBj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sBiUEApW40+vf0/v39/v39/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////f38////1r2iiUAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkoAjkkCjEYE4M24/////fz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/v7+/v79/v38/v39rnxIiEAAkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAkEwChz8At4tZ/v7+/fz7/v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/fz7 + /v7+6NrMkU0LjkgCjkoBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjEYB + llYW7+Xb/v7+/f38/////v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////7//fz7////wJpwhz0A + kEwCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0sCiD8Aza6M/////fz7/v7+ + /v7+//////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////f39/v799vLtnWIki0QAj0sBj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAj0sBiUEApG0x+vf0/f38/v7+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7////1r6ii0MAj0oCjkkAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkoAj0kCjEYF38y3/////fz7/////v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/f38/fz8rXtEiUAAj0sBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkA + j0wChz8AuIxc/v7+/fz7/v39/v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////fz8////697Skk8MjUgBj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0kAjkoAjUYAllYR8Ofe/v/+ + /v39/v////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v7+/fv6 + ////xKF6iD4AkEsCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wCiD8Ay6uJ/////v38//////7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////v79/v7++fXyn2Qli0MA + j0oAjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0kAj0sCiUEApW8z+fby/fz7/f39/v7+//////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/////fz8////2cKqikQAjkoCj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkoAjkkBjEYA4M24/////fz8/v7+//////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/v7+/fz7/Pv6sH9LiD8AkEsCj0kAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0wChz4At4pa + /////f38//////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38////7OLWkk4KjUgBjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBjEUBl1cV7uXb/v39/Pz8/v7+/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /v7+/////fz8////xaJ8iD8Aj0wCjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiUAAzK2L/////Pz7/v7+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/v39/fz7 + 9/LtomgsikIAj0sCj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAjkkAj0sBiUIApGww/Pn3/f38/f39//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////fz7////3Mewi0QAj0oB + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkB + jUcE3sq2/////Pz7/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+/v7+/f38////tolXiD8Aj0wBjkkAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEsBiD8AuIxb/////fz8/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////v7+/fz7/v7+7eLWlVMSjUcCj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjUYBllYT8Ojf/v7+/f39/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////fz8////yKaBhz4AkEsBjkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAjkkAj0sBhz8AyaiF/////fz7/v7+/v7+//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /v7+/v39/v39+PTxomktikIAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oBikMAomgq+fXy/v39/f39//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////v7+/fz7//// + 3Mixi0MBjkoCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAj0oBi0MA3ciy//// + /fz8/////v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+/fz7/v79tIdVhz4AkEwC + jkkAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAkEwBhz8AtIdV/////f37/v7+/v7+//////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////v7+/////f38////7+belVUUjEYBj0oBj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAjkoAjUYBlFMO7uPZ/v7+/fz8//////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+/v7+/fz7////y6yJiD8Aj0sCjkkAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAjkkAkEwBhz4AyKaD/////fz7/v///v7+//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////v7+/v38+ff0pW4yikEAj0sBj0kAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0sBikIAoWgq + +vf1/f38/f39//7+//////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////////v7+ + /////fz7////4M24jEUFj0kCjkoAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oA + j0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAj0oAjkkAjkkCjEYB3ciy/////fz7/////v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////v7+/v39/fz7/v39 + tolZhz4AkU4FkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwD + kEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwD + kEwDkEwDkEwDkEwDkEwDkEwDkEwDkEwCkU0EiEAAtIVS/////f39/v7+///+//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v///v39////8OfdlVQQhDoAiD8A + iD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4A + iD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4AiD4A + iD4AiD4AiD4AiD8AhToAkU4K7+Xc/v7+/f38/////v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////7+/////v7+////38y4y6yNzrGQzrCQzrCQzrCQzrCQ + zrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQ + zrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrCQzrGS + yqqM38u2/////v79/v7+/v7+//////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7+/v7+/v7+/v79//////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v79/v7+ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////f38/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8 + /fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8 + /fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/fz8/f38/v7+/////v7+//////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= + + + \ No newline at end of file diff --git a/LFP_Manager/packages.config b/LFP_Manager/packages.config new file mode 100644 index 0000000..510b29a --- /dev/null +++ b/LFP_Manager/packages.config @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file